Hash là gì? MD5, SHA1, SHA256 khác nhau thế nào?

Tháng 6, 2026 · 9 phút đọc

Nếu bạn là developer, IT professional hoặc đơn giản là quan tâm đến bảo mật, chắc chắn bạn đã nghe đến các thuật ngữ MD5, SHA1, SHA256. Nhưng bạn có thực sự hiểu Hash là gì và tại sao nó quan trọng đến vậy? Bài viết này sẽ giải thích chi tiết về hashing và hướng dẫn cách sử dụng.

Hash là gì?

Hash (băm) là quá trình chuyển đổi dữ liệu đầu vào có bất kỳ kích thước nào thành chuỗi ký tự có độ dài cố định bằng một thuật toán toán học. Đặc điểm quan trọng nhất của hash:

  • Định trước: Cùng một đầu vào luôn cho ra cùng một kết quả hash.
  • Không thể đảo ngược: Không thể từ hash để suy ra dữ liệu gốc.
  • Độ dài cố định: Dù đầu vào 1 ký tự hay 1GB, hash luôn có độ dài như nhau.
  • Không trùng: Hai dữ liệu khác nhau gần như không thể cho ra cùng một hash (va chạm cực hiếm).
  • Nhanh: Quá trình tính toán hash rất nhanh, ngay cả với dữ liệu lớn.

Các thuật toán hash phổ biến

MD5 (Message Digest 5)

MD5 tạo ra hash 128 bit (32 ký tự hex), được phát triển bởi Ronald Rivest năm 1991.

  • Độ dài hash: 128 bit (32 ký tự hex)
  • Tốc độ: Rất nhanh
  • Bảo mật: Yếu - dễ bị collision attack
  • Ứng dụng: Kiểm tra tính toàn vẹn file, không dùng cho bảo mật

Ví dụ: "hello"5d41402abc4b2a76b9719d911017c592

SHA-1 (Secure Hash Algorithm 1)

SHA-1 tạo ra hash 160 bit (40 ký tự hex), được phát triển bởi NSA năm 1995.

  • Độ dài hash: 160 bit (40 ký tự hex)
  • Tốc độ: Nhanh
  • Bảo mật: Trung bình - đã bị破解 vào năm 2017
  • Ứng dụng: Git commit hash, nhưng đang được thay thế dần

SHA-256 (thuộc họ SHA-2)

SHA-256 tạo ra hash 256 bit (64 ký tự hex), là tiêu chuẩn hiện tại cho bảo mật.

  • Độ dài hash: 256 bit (64 ký tự hex)
  • Tốc độ: Chậm hơn MD5 và SHA-1 một chút
  • Bảo mật: Rất cao - chưa bị破解
  • Ứng dụng: Blockchain, digital signature, bảo mật mật khẩu

SHA-3

SHA-3 là thế hệ mới nhất, được chuẩn hóa năm 2015 với cấu trúc Keccak khác biệt.

  • Bảo mật: Cao nhất hiện nay
  • Ưu điểm: Kháng lại các cuộc tấn công mà SHA-2 có thể bị ảnh hưởng
  • Ứng dụng: Hệ thống yêu cầu bảo mật cao cấp

Bảng so sánh các thuật toán hash

Thuật toán Độ dài Tốc độ Bảo mật Nên dùng
MD5 128 bit Rất nhanh Yếu Checksum
SHA-1 160 bit Nhanh Trung bình Không khuyến nghị
SHA-256 256 bit Trung bình Rất cao Khuyến nghị
SHA-3 224-512 bit Trung bình Cao nhất Hệ thống cao cấp

Ứng dụng thực tế của Hash

1. Kiểm tra tính toàn vẹn file

Khi tải file từ internet, nhà cung cấp thường cung cấp hash MD5 hoặc SHA-256. Bạn so sánh hash của file tải về với hash được cung cấp để đảm bảo file không bị sửa đổi.

2. Lưu trữ mật khẩu

Hệ thống không lưu mật khẩu trực tiếp mà lưu hash của mật khẩu. Khi người dùng đăng nhập, hệ thống hash mật khẩu nhập vào và so sánh. Tuy nhiên, nên dùng bcrypt hoặc Argon2 thay vì MD5/SHA.

3. Blockchain và tiền mã hóa

Bitcoin sử dụng SHA-256 cho việc mining và xác minh giao dịch. Mỗi block chứa hash của block trước đó, tạo thành chuỗi liên kết.

4. Digital Signature

Hash được sử dụng trong chữ ký số để đảm bảo tính xác thực và không thể chối cãi của tài liệu.

5. Deduplication

Hệ thống lưu trữ sử dụng hash để phát hiện file trùng lặp, tiết kiệm không gian lưu trữ.

Cách tạo hash bằng ToolHub

Công cụ Hash Generator của ToolHub cho phép bạn tạo hash nhanh chóng:

  1. Truy cập ToolHub Hash Generator
  2. Nhập text hoặc upload file cần tạo hash
  3. Chọn thuật toán: MD5, SHA-1, SHA-256, SHA-512
  4. Nhấn "Tạo Hash"
  5. Copy kết quả hash để sử dụng

Những lưu ý quan trọng

  • Không dùng MD5 cho mật khẩu: MD5 quá yếu để bảo vệ mật khẩu. Sử dụng bcrypt hoặc Argon2.
  • Salt khi hash mật khẩu: Luôn thêm salt (giá trị ngẫu nhiên) trước khi hash để chống rainbow table attack.
  • SHA-1 đang被淘汰: Các trình duyệt và hệ thống đang dần loại bỏ SHA-1 do vấn đề bảo mật.
  • Hash không phải mã hóa: Hash là một chiều, không thể giải mã. Mã hóa (encryption) là hai chiều.

Câu hỏi thường gặp

Hash có giống mã hóa không?

Không. Hash là một chiều (không thể đảo ngược), trong khi mã hóa là hai chiều (có thể giải mã với key). Hash dùng để xác minh, mã hóa dùng để bảo mật dữ liệu.

Tại sao MD5 vẫn được sử dụng nếu nó yếu?

MD5 vẫn hữu ích cho việc kiểm tra tính toàn vẹn file (checksum) vì nó nhanh và đủ cho mục đích này. Chỉ không nên dùng MD5 cho bảo mật.

Có thể tạo hash từ file không?

Có, ToolHub hỗ trợ tạo hash từ cả text và file. Chỉ cần upload file vào công cụ Hash Generator.

Hash có bị trùng không?

Về lý thuyết, hash có thể bị trùng (collision) nhưng xác suất cực kỳ thấp với các thuật toán mạnh như SHA-256. MD5 và SHA-1 đã bị chứng minh dễ bị collision.

Cần tạo hash ngay? Thử ngay công cụ Hash Generator miễn phí của ToolHub!