Bảo mật & tài khoản

Tạo mã hash MD5, SHA-1, SHA-256, SHA-512

Tính giá trị băm của văn bản theo bốn thuật toán phổ biến, hiển thị đồng thời để đối chiếu nhanh.

Công cụ này chạy hoàn toàn trong trình duyệt của bạn — dữ liệu không rời khỏi máy.

Tạo mã hash MD5, SHA-1, SHA-256, SHA-512 là gì?

Hàm băm biến một chuỗi dữ liệu bất kỳ thành một chuỗi ký tự có độ dài cố định. Cùng một dữ liệu vào luôn cho ra cùng một kết quả, nhưng từ kết quả thì không thể lần ngược lại dữ liệu gốc. Đặc tính này khiến hàm băm trở thành công cụ nền tảng để kiểm tra tính toàn vẹn của tập tin, so sánh nội dung và lưu trữ mật khẩu.

Công cụ này tính bốn giá trị băm cùng lúc: MD5, SHA-1, SHA-256 và SHA-512. Ba thuật toán SHA dùng Web Crypto API có sẵn trong trình duyệt. Riêng MD5 không nằm trong Web Crypto nên được cài đặt trực tiếp bằng JavaScript theo chuẩn RFC 1321.

Cần lưu ý về độ an toàn: MD5 và SHA-1 đã bị phá vỡ, nghĩa là người ta có thể cố tình tạo ra hai nội dung khác nhau cho cùng một giá trị băm. Hai thuật toán này vẫn dùng tốt để đối chiếu checksum tập tin, nhưng tuyệt đối không dùng cho chữ ký số hay lưu mật khẩu. Với mục đích bảo mật, hãy dùng SHA-256 trở lên.

Cách sử dụng

  • Nhập hoặc dán nội dung cần băm vào ô văn bản.
  • Bốn giá trị băm được tính ngay lập tức và cập nhật theo từng ký tự bạn gõ.
  • Bấm Sao chép ở dòng thuật toán bạn cần.
  • Để so sánh với checksum của một tập tin tải về, hãy dán chuỗi checksum mà nhà cung cấp công bố rồi đối chiếu từng ký tự.

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

Có băm được tập tin không, hay chỉ băm văn bản?

Hiện tại công cụ chỉ nhận văn bản. Với tập tin, bạn nên dùng lệnh có sẵn trên máy: certutil -hashfile tên_file SHA256 trên Windows, hoặc sha256sum tên_file trên Linux và macOS. Cách đó nhanh hơn nhiều với tập tin lớn.

Vì sao MD5 vẫn còn được dùng nếu nó không an toàn?

Vì hai mục đích khác nhau. Để phát hiện tập tin bị hỏng khi tải về, MD5 vẫn làm tốt và tính rất nhanh. Cái nó không còn làm được là chống lại kẻ tấn công cố ý — người ta có thể chế ra hai tập tin khác nhau có cùng mã MD5. Nên dùng nó để kiểm tra lỗi truyền tải thì được, dùng để chứng minh tính xác thực thì không.

Có thể giải ngược mã hash về nội dung gốc không?

Không, hàm băm là một chiều. Các trang quảng cáo giải mã MD5 thực chất chỉ tra cứu trong bảng đã tính sẵn của những chuỗi phổ biến. Với nội dung dài hoặc ngẫu nhiên, cách này vô hiệu.

Dùng thuật toán nào để lưu mật khẩu?

Không dùng thuật toán nào trong bốn cái này. Lưu mật khẩu cần hàm băm chậm và có muối như bcrypt, scrypt hoặc Argon2. Chính vì SHA-256 tính quá nhanh mà nó không phù hợp: kẻ tấn công cũng thử được rất nhanh.