Công cụ tạo mã băm MD5, SHA-1, SHA-256

Mã băm là dấu vân tay của dữ liệu: cùng một chuỗi vào luôn cho ra cùng một chuỗi ra, nhưng từ chuỗi ra thì không lần ngược về được chuỗi vào. Công dụng thường gặp nhất với người Việt là đối chiếu tệp tải về — trang phát hành công bố mã MD5 hoặc SHA-256 của tệp gốc, bạn băm tệp mình vừa tải rồi so hai chuỗi; giống nhau nghĩa là tệp nguyên vẹn, khác một ký tự nghĩa là tệp đã hỏng hoặc bị sửa. Công cụ này tính cả ba loại cùng lúc ngay trong trình duyệt, chữ bạn gõ không gửi đi đâu cả. Có một điều cần nói thẳng: MD5 và SHA-1 đều đã BỊ PHÁ về mặt mật mã. Người ta đã tạo được hai tệp khác nhau mà cho ra cùng một mã MD5, và điều tương tự với SHA-1 cũng đã xảy ra từ năm 2017. Nghĩa là không được dùng chúng để băm mật khẩu, ký số hay bất cứ việc gì cần chống giả mạo — với mật khẩu phải dùng bcrypt hoặc Argon2, hai thuật toán cố tình làm chậm để kẻ dò không thử được hàng tỷ lần mỗi giây. Nhưng làm mã kiểm tra tính toàn vẹn thì MD5 vẫn ổn và vẫn được dùng rộng rãi, nên công cụ vẫn giữ. Tại sao trình duyệt không tự có sẵn MD5: thư viện mã hoá chuẩn của trình duyệt cố tình bỏ MD5 vì lý do nói trên, nên công cụ này tự hiện thực cả ba thuật toán và đã đối chiếu khớp hoàn toàn với thư viện chuẩn.

Nhập liệu
Kết quả
MD5 (32 ký tự)
fa2bd752782454b40d6b4ac3136dc1d2
SHA-1 (40 ký tự)1340e95613b180040da4a6095ccb3618d8b444ec
SHA-256 (64 ký tự)1fa1a1654ef2aaf82bada966451f33b5b15a2375c9737d85b857a5bc29cffd97
Độ dài chuỗi vào17 ký tự · 20 byte UTF-8
Dùng để làm gìMD5 và SHA-1 chỉ nên dùng làm mã kiểm tra tệp. Cả hai đã bị phá, tuyệt đối không dùng băm mật khẩu — hãy dùng bcrypt hoặc Argon2.
Công Cụ Tính

Công cụ liên quan

Về công cụ này — cách hoạt động, công thức & câu hỏi thường gặp

Cách sử dụng

  1. Dán chuỗi cần băm vào ô nhập — hỗ trợ đầy đủ tiếng Việt có dấu và cả emoji.
  2. Đọc ba dòng kết quả: MD5 dài 32 ký tự, SHA-1 dài 40, SHA-256 dài 64.
  3. Bật công tắc nếu cần kết quả viết hoa — một số hệ thống công bố mã kiểm tra bằng chữ in.
  4. So từng ký tự với mã gốc, hoặc dán cả hai vào công cụ đếm ký tự để đối chiếu nhanh.
  5. Xem dòng độ dài để biết chuỗi vào chiếm bao nhiêu byte UTF-8.

Công thức

Mã băm là dấu vân tay một chiều: cùng đầu vào luôn ra cùng kết quả, nhưng không thể đi ngược lại

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

MD5 là gì và dùng để làm gì?
MD5 là thuật toán băm cho ra chuỗi 32 ký tự thập lục phân từ dữ liệu bất kỳ. Ngày nay nó chỉ nên dùng làm MÃ KIỂM TRA tính toàn vẹn — ví dụ đối chiếu tệp cài đặt vừa tải về với mã nhà phát hành công bố. Không dùng cho mật khẩu hay chữ ký số vì thuật toán đã bị phá.
Vì sao nói MD5 và SHA-1 đã bị phá?
Vì người ta đã tạo được hai dữ liệu KHÁC NHAU cho ra cùng một mã băm — gọi là va chạm. Với MD5 điều này làm được trong vài giây trên máy tính thường. Với SHA-1, Google công bố va chạm thực tế đầu tiên năm 2017. Khi va chạm tạo được, kẻ xấu có thể thay tệp mà mã băm không đổi.
Băm mật khẩu thì nên dùng gì?
Dùng bcrypt, scrypt hoặc Argon2 — những thuật toán được thiết kế để CHẬM có chủ đích và có thêm chuỗi muối ngẫu nhiên cho từng mật khẩu. MD5 và SHA-256 chạy quá nhanh: card đồ hoạ thử được hàng tỷ mật khẩu mỗi giây, nên dùng chúng băm mật khẩu là gần như không bảo vệ được gì.
Chuỗi tôi nhập có bị gửi lên máy chủ không?
Không. Toàn bộ phép băm chạy bằng JavaScript ngay trong trình duyệt của bạn, không có yêu cầu mạng nào được gửi đi. Bạn có thể ngắt mạng rồi thử lại — công cụ vẫn chạy bình thường.
Tại sao băm chữ tiếng Việt lại ra kết quả khác nơi khác?
Gần như luôn là do khác cách mã hoá ký tự. Công cụ này đổi chuỗi sang byte UTF-8 trước khi băm — đây là chuẩn phổ biến nhất hiện nay. Nếu nơi kia dùng bảng mã khác như UTF-16 hay một bảng mã cũ, cùng một chữ sẽ cho ra dãy byte khác nên mã băm khác. Chuỗi thuần chữ cái tiếng Anh thì mọi công cụ đều ra giống nhau.

Sao chép đoạn mã này vào website của bạn để thêm công cụ. Nó hiển thị liền mạch — không thương hiệu chèn ngang, chạy trên mọi trang.

px
✓ 100% Miễn phí✓ Không cần đăng ký✓ Nhanh & Chính xác✓ Dùng trên mọi thiết bị