Trình tạo hash
MD5, SHA-1, SHA-256, SHA-512 và CRC-32 của bất kỳ văn bản nào, tính ngay trong trình duyệt.
Chạy hoàn toàn trong trình duyệt của bạn. Không có gì được tải lên, ghi log hay lưu trữ.
Hàm hash biến một lượng văn bản bất kỳ thành một dấu vân tay ngắn có độ dài cố định. Cùng một dữ liệu nhập luôn cho cùng một giá trị băm, và thay đổi một ký tự ở bất cứ đâu sẽ làm thay đổi toàn bộ kết quả — điều khiến nó hữu ích để biết hai thứ có giống hệt nhau không mà không cần đặt chúng cạnh nhau để so.
Cách hoạt động
Văn bản trước tiên được mã hóa thành UTF-8, rồi hash được tính trên các byte đó. Điều này quan trọng với mọi ký tự ngoài ASCII: é là hai byte, nên giá trị băm của nó không phải giá trị băm của một é một byte trong bảng mã khác. Khi hai công cụ không thống nhất về một chuỗi có dấu, gần như luôn là do điểm này chứ không phải do thuật toán.
Mọi thứ được tính ngay tại đây, trên trang. Cả năm thuật toán được viết tay thay vì lấy từ API mật mã của trình duyệt, vì ba lý do: API đó không khả dụng qua HTTP không mã hóa, nó thẳng thừng từ chối làm MD5, và nó bất đồng bộ trong khi các công cụ còn lại thì không.
Giá trị băm được hiển thị ở dạng thập lục phân chữ thường, là dạng mà các công cụ dòng lệnh in ra. Công tắc chữ hoa có mặt vì một số hệ thống lưu chúng theo kiểu ngược lại, và so bằng mắt giữa hai dạng là cách dễ để thấy một sự khác biệt không tồn tại.
Ví dụ
| Trường hợp | Dữ liệu nhập | Kết quả |
|---|---|---|
| SHA-256 của một chuỗi ngắn | hello | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
| MD5 của cùng chuỗi đó | hello | 5d41402abc4b2a76b9719d911017c592 |
| Khác một ký tự, và không còn gì giống nhau | hellp | d0763edaa9d9bd2a9516280e9044d885 |
Câu hỏi thường gặp
Tôi có thể khôi phục văn bản gốc từ một hash không?
Không, và không công cụ nào làm được. Hash không phải mã hóa: thông tin đã mất, và giá trị băm của một ký tự hay của một cuốn tiểu thuyết đều dài như nhau. Những trang web hứa “giải mã” hash thực ra đang tra nó trong một bảng giá trị băm mà ai đó đã tính sẵn từ các mật khẩu phổ biến, nên chỉ hiệu quả với dữ liệu nhập có trong danh sách đó.
Tôi có nên dùng công cụ này để băm mật khẩu không?
Không. Mật khẩu cần một thuật toán được thiết kế để chạy chậm — bcrypt, scrypt hoặc Argon2 — với một salt ngẫu nhiên cho mỗi mật khẩu, được tính trên máy chủ của bạn. Năm thuật toán này đều nhanh, và đó chính là đặc tính sai: một card đồ họa sẽ thử hàng tỷ ứng viên MD5 mỗi giây. Không có gì bạn nhập ở đây rời khỏi trình duyệt, nhưng kết quả vẫn là thứ không nên lưu trữ.
“Đã bị phá” nghĩa là gì với MD5 và SHA-1?
Nghĩa là có người có thể cố ý tạo ra hai dữ liệu nhập khác nhau có cùng giá trị băm, và điều này đã được chứng minh với cả hai. Vì vậy không thuật toán nào trong hai có thể chứng minh một tệp đúng là tệp bạn được hứa, nếu ai đó có lý do để tráo nó. Cả hai vẫn hoàn toàn ổn cho việc chúng được dùng nhiều nhất: phát hiện một tệp tải về bị hỏng, hoặc hai tệp là bản sao của nhau.
Sao giá trị băm của tôi không khớp với công cụ khác?
Gần như luôn do một ký tự xuống dòng ở cuối hoặc do bảng mã ký tự khác nhau. Băm một tệp kết thúc bằng ký tự xuống dòng không giống với băm văn bản không có nó, và mỗi byte đều được tính. Công cụ này băm chính xác các ký tự trong ô, được mã hóa thành UTF-8, và không gì khác.
Cần biết
- Mọi thứ diễn ra trong trình duyệt của bạn. Những gì bạn dán vào không được tải lên, ghi log hay lưu trữ.