nicetool.dev logo

Tạo mã Hash

Mã băm được tính cục bộ bằng Web Crypto. Tệp không bao giờ rời khỏi thiết bị của bạn.

Văn bản đầu vào
Mã băm
MD5
-
SHA-1
-
SHA-256
-
SHA-384
-
SHA-512
-

Hàm băm là gì?

Hàm băm mật mã biến mọi dữ liệu đầu vào thành một dấu vân tay có độ dài cố định. Cùng một đầu vào luôn cho cùng một kết quả, nhưng chỉ cần đổi một ký tự thì kết quả sẽ khác hoàn toàn. Hash được dùng để kiểm tra tệp tải về, lưu mật khẩu và ký request API (HMAC).

Tính năng

  • • Tính đồng thời MD5, SHA-1, SHA-256, SHA-384 và SHA-512
  • • Chữ ký HMAC với khóa bí mật của bạn
  • • Băm văn bản hoặc tệp tối đa 200 MB
  • • Xuất dạng Hex hoặc Base64 và kiểm tra checksum tức thì

Dữ liệu ở lại máy bạn

Mọi phép tính đều chạy trong trình duyệt bằng Web Crypto API. Văn bản, tệp và khóa bí mật của bạn không bao giờ được tải lên.

Lưu ý: MD5 và SHA-1 không an toàn cho mật khẩu hoặc chữ ký.

Cách dùng công cụ Tạo mã Hash

  1. 1

    Chọn Text để băm một chuỗi, hoặc File để băm bất kỳ file nào trên máy (tối đa 200 MB).

  2. 2

    Gõ hoặc dán văn bản, hoặc kéo thả file vào. MD5, SHA-1, SHA-256, SHA-384 và SHA-512 được tính cùng lúc.

  3. 3

    Có thể nhập khóa bí mật để tính chữ ký HMAC thay cho hash thường, và đổi kết quả giữa hex với Base64 hoặc chữ hoa.

  4. 4

    Để kiểm tra file tải về hay chữ ký, dán giá trị mong đợi vào ô so sánh. Công cụ sẽ cho biết thuật toán nào khớp.

Ví dụ thực tế

Kiểm tra file tải về

File ISO Linux, bộ cài và bản phát hành thường công bố checksum SHA-256. Băm file đã tải và so sánh: chỉ cần sai một byte là giá trị khác hoàn toàn.

Chữ ký webhook

GitHub, Stripe và Shopify ký body webhook bằng HMAC-SHA256. Băm payload gốc với secret của bạn để chắc chắn máy chủ tính ra cùng chữ ký.

Khóa cache và ETag

Băm nội dung file hay phản hồi API để có khóa ngắn, ổn định, chỉ thay đổi khi nội dung thay đổi.

So sánh file

Hai file có cùng SHA-256 thì trên thực tế là giống hệt nhau. So sánh hash nhanh hơn nhiều so với so sánh từng byte của file lớn.

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

Có thể giải ngược hash không?+

Không. Hàm băm là một chiều: không thể tính ra dữ liệu gốc từ kết quả. Tuy vậy, dữ liệu ngắn hoặc phổ biến vẫn có thể bị đoán bằng cách thử rất nhiều khả năng, vì vậy mật khẩu cần thuật toán chậm chuyên dụng.

MD5 hay SHA-1 còn an toàn không?+

Không dùng cho mục đích bảo mật. Cả hai đều đã bị tạo va chạm trong thực tế, kẻ tấn công có thể tạo hai dữ liệu khác nhau có cùng hash. Chúng vẫn ổn khi làm checksum nhanh để phát hiện lỗi vô tình. Với bảo mật, hãy dùng SHA-256 trở lên.

Có nên băm mật khẩu bằng SHA-256 không?+

Không. Hàm băm thông thường được thiết kế để chạy nhanh, nên kẻ tấn công có thể thử hàng tỷ lần mỗi giây. Hãy lưu mật khẩu bằng bcrypt, scrypt hoặc Argon2, vốn cố ý chạy chậm và có thêm salt.

Hash và HMAC khác nhau thế nào?+

Hash chỉ phụ thuộc vào dữ liệu đầu vào. HMAC trộn thêm một khóa bí mật, nên chỉ ai có khóa mới tạo hoặc kiểm tra được. Vì vậy HMAC dùng để ký tin nhắn và webhook.

Bài viết liên quan