Trình tạo mã băm (Hash)
Việc xác minh một tệp tải xuống, so sánh hai chuỗi ký tự từng byte một, hoặc tạo dấu vân tay cho quy trình chữ ký đều phụ thuộc vào thuật toán mã hóa hash. Công cụ này tính toán các loại hash phổ biến, MD5, SHA-1, SHA-2 (256/384/512) và CRC32, đồng thời cung cấp digest sẵn sàng để sao chép cho từng loại. Văn bản bạn nhập được gửi đến máy chủ của chúng tôi để tính toán digest.
Cách tạo giá trị hash
-
1
Dán hoặc nhập văn bản
Nhập văn bản bạn muốn băm. Công cụ này chỉ hoạt động với văn bản, không có tải tệp lên.
-
2
Chọn một thuật toán băm
Hãy chọn MD5, SHA-1, SHA-256, SHA-384, SHA-512 hoặc CRC32 tùy theo trường hợp sử dụng của bạn.
-
3
Tạo các giá trị băm
Nhấp vào "Tạo mã băm". Digest của thuật toán đã chọn sẽ hiện ra và danh sách bên dưới hiển thị tất cả thuật toán cùng lúc.
-
4
Sao chép giá trị digest
Giá trị digest có độ dài cố định thu được đã sẵn sàng để dán vào tệp checksum, tiêu đề chữ ký hoặc hộp thoại so sánh.
Tôi nên chọn thuật toán băm nào?
Không phải giá trị băm nào cũng phù hợp với mọi tác vụ. MD5 và SHA-1 rất phù hợp để kiểm tra tính duy nhất, nhưng không thể dùng cho bất cứ việc gì liên quan đến bảo mật. SHA-2 vẫn là lựa chọn mặc định thận trọng cho các dự án mới.
Bảng tham chiếu thuật toán
| Thuật toán | Kích thước đầu ra | Tình trạng bảo mật | Cách sử dụng điển hình |
|---|---|---|---|
| MD5 | 128 bit | Đã bị phá, có xung đột thực tế từ năm 2004 | Checksum ngoài bảo mật, ETag, khóa bộ nhớ đệm |
| SHA-1 | 160 bit | Không còn dùng, xung đột SHAttered năm 2017 | ID đối tượng Git cũ, chuỗi TLS cũ |
| SHA-256 | 256 bit | An toàn, mặc định được khuyến nghị | TLS, ký số, toàn vẹn tệp tin, blockchain |
| SHA-384 | 384 bit | An toàn | TLS 1.3 Suite B, độ toàn vẹn mạnh hơn |
| SHA-512 | 512 bit | An toàn | Tập dữ liệu rất lớn, xây dựng HMAC |
| CRC32 | 32 bit | Không phải mã hóa băm, xung đột tầm thường | Phát hiện lỗi (ZIP, PNG), kiểm tra toàn vẹn nhanh |
Băm không phải là mã hóa
Giá trị băm mang tính một chiều: từ digest không thể khôi phục được dữ liệu đầu vào. Hai đặc tính sau đây rất quan trọng:
- Khả năng chống xung đột, không có hai đầu vào nào tạo ra giá trị băm giống nhau. Đặc tính này đã bị phá ở MD5 và SHA-1.
- Khả năng chống tiền ảnh (preimage), với một digest cho trước, bạn không thể tìm được đầu vào tạo ra nó. Đặc tính này vẫn đúng với MD5 và SHA-1, nên checksum vẫn có thể phát hiện hư hỏng ngẫu nhiên.
Đừng dùng SHA-256 thuần cho mật khẩu
Mật khẩu cần một hàm chậm và có thêm chuỗi ngẫu nhiên (salt): bcrypt, scrypt, Argon2id hoặc PBKDF2 với ít nhất 600.000 vòng lặp. Một hàm băm nhanh như SHA-256 có thể bị dò quét (brute-force) với tốc độ hàng tỷ lần thử mỗi giây trên GPU hiện đại.
Mã hóa văn bản (encoding) rất quan trọng
Băm một chuỗi nghĩa là băm biểu diễn dạng byte của nó. Ví dụ, chuỗi "café" khi mã hóa theo UTF-8 sẽ tạo ra digest khác với chính từ đó khi mã hóa theo Latin-1. Công cụ này mặc định băm các byte theo chuẩn UTF-8.
Câu hỏi thường gặp
Hầu như luôn là do sự khác biệt về cách mã hóa hoặc khoảng trắng cuối chuỗi. Hãy kiểm tra xem công cụ kia sử dụng UTF-8 hay Latin-1, và liệu nó có thêm dòng mới vào dữ liệu đầu vào trước khi thực hiện phép tạo hash hay không.
Đối với việc phát hiện tình trạng hư hỏng ngẫu nhiên trong tệp tải xuống, MD5 là phù hợp. Tuy nhiên, đối với bất kỳ dữ liệu nào bị tấn công giả mạo (như chứng chỉ, chữ ký mã nguồn hoặc hệ thống lưu trữ mật khẩu), MD5 sẽ không còn hiệu lực và không nên được sử dụng.
Không. Công cụ này chỉ xử lý văn bản. Để kiểm tra tệp, hãy dùng lệnh checksum tích hợp trong hệ điều hành của bạn, chẳng hạn sha256sum trên Linux và macOS hoặc Get-FileHash trên Windows.
Văn bản bạn nhập được gửi đến máy chủ của chúng tôi để tính toán digest và không được lưu giữ sau đó.
SHA-2 là một họ các thuật toán; SHA-224, SHA-256, SHA-384 và SHA-512 đều thuộc nhóm này. Khi người ta nói “SHA-2” mà không nêu cụ thể kích thước, họ thường ám chỉ SHA-256.
Công cụ liên quan
Bộ mã hóa tệp Base64
Mã hóa mọi tệp (PDF, ZIP, ảnh, tệp thực thi) thành văn bản Base64 để nhúng vào JSON, email, YAML hoặc data URI. Chạy cục bộ, không tải lên.
Trình tạo CSR
Tạo Yêu cầu ký chứng chỉ dạng PEM và private key RSA tương ứng. Chỉ định common name, các trường tổ chức và kích thước khóa (2048, 3072 hoặc 4096 bit).
Bộ mã hóa và giải mã Base58
Mã hóa văn bản UTF-8 hoặc byte thập lục phân và giải mã Base58 an toàn bằng bảng chữ cái Bitcoin, Ripple hoặc Flickr.
Nhận diện mật mã
Dán văn bản mã hóa vào, công cụ nhận diện sẽ gợi ý các sơ đồ mã hóa/mật mã khả dĩ: Base64, hex, nhị phân, Morse, Caesar hoặc thay thế, JWT và các hàm băm phổ biến.
Bộ mã hóa mật mã Caesar
Mã hóa và giải mã văn bản bằng mật mã Caesar. Hỗ trợ mọi độ dịch 1-25, có ROT13 như một trường hợp đặc biệt, giữ nguyên dấu câu và chữ hoa/thường.
Trình kiểm tra checksum
Tính checksum MD5, SHA-1, SHA-256, SHA-384, SHA-512 hoặc CRC32 của bất kỳ văn bản nào và đối chiếu với giá trị mong đợi để có kết luận rõ ràng là khớp hay không.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Gerador de Hash [PT]
- Generador de Hash [ES]
- ハッシュジェネレーター [JA]
- مولد هاش [AR]
- Hashgeneratör [SV]
- Générateur de hachage [FR]
- Hash-Generator [DE]
- ตัวสร้างแฮช (Hash Generator) [TH]
- 해시 생성기 [KO]
- Hashgenerator [NL]
- Generator Hash [ID]
- Generator skrótów [PL]
- Генератор хешей [RU]
- Hash Oluşturucu [TR]
- 哈希生成器 [ZH]
- Hash Generator [EN]
- Generatore di Hash [IT]