Công cụ tạo hash Keccak-224
Tạo hash Keccak-224 của bất kỳ văn bản nào ngay trong trình duyệt. Đầu vào UTF-8, hex hoặc Base64; đầu ra hex hoặc Base64. Miễn phí, riêng tư, không tải lên.
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Tạo hash Keccak-224 là gì?
Keccak-224 là hàm băm Keccak gốc (phiên bản đã thắng cuộc thi SHA-3 như khi được nộp, 2011) với đầu ra 224 bit, trước khi NIST thay đổi cách đệm cho FIPS 202. Công cụ này tính giá trị băm Keccak-224 224 bit của văn bản hoặc byte thô (hex hoặc Base64) ngay khi bạn gõ và hiển thị dưới dạng 56 ký tự hex hoặc Base64.
Cách sử dụng Tạo hash Keccak-224
- Nhập hoặc dán dữ liệu vào ô Văn bản cần băm — giá trị băm cập nhật ngay khi bạn gõ (ô trống sẽ hiện hash của đầu vào rỗng).
- Chọn Mã hóa đầu vào: Văn bản (UTF-8) băm các ký tự dưới dạng UTF-8, còn Byte dạng hex hoặc Base64 băm các byte thô sau khi giải mã.
- Chọn Định dạng đầu ra (hex chữ thường, hex chữ hoa hoặc Base64) rồi nhấn Sao chép.
Ví dụ
abc
c30411768506ebe1c2871b1ee2e87d38df342317300a9b97a95ec6a8
Keccak-224 của 3 byte ASCII "abc" (UTF-8, đầu ra hex chữ thường), là test vector chuẩn.
Khi nào nên dùng Tạo hash Keccak-224
Dùng công cụ Keccak-224 cho văn bản để băm chuỗi: tái tạo một giá trị trong tài liệu hoặc mã nguồn, tạo test vector, so sánh dữ liệu đầu vào của chữ ký API, hoặc kiểm tra xem chương trình lẽ ra phải xuất ra gì. Đừng dùng nó để kiểm tra tệp tải về: sao chép nội dung tệp vào ô văn bản sẽ làm thay đổi ký tự xuống dòng và bảng mã, hãy dùng công cụ checksum Keccak-224 cho tệp. Với các dự án mới tuân theo tiêu chuẩn (FIPS, NIST), hãy dùng SHA3-224.
Tạo hash Keccak-224 hoạt động như thế nào
Keccak-224 hấp thụ đầu vào vào trạng thái Keccak-f[1600] 1600 bit theo từng khối 1152 bit (capacity 448 bit) và áp dụng 24 vòng hoán vị cho mỗi khối. Nó đệm theo quy tắc pad10*1 của Keccak gốc (byte 0x01 … 0x80), không có hậu tố miền 01 mà FIPS 202 bổ sung sau này. 224 bit đầu tiên của trạng thái chính là giá trị băm, đó là lý do Keccak-224 và SHA3-224 cho kết quả khác nhau với mọi đầu vào. Văn bản trước tiên được chuyển thành byte (mặc định là UTF-8), nên cùng các ký tự sẽ luôn cho cùng một hash.
Các Trường Hợp Sử Dụng Phổ Biến
- Kiểm tra Keccak-224 mong đợi của một chuỗi trong unit test hoặc fixture
- Băm các byte hex sao chép từ trình gỡ lỗi, bản bắt gói tin hoặc đặc tả giao thức
- So sánh đầu ra Keccak-224 giữa hai ngôn ngữ lập trình cho kết quả khác nhau
- Tạo định danh hoặc khóa cache có tính xác định từ văn bản
- Lấy dạng Base64 của giá trị băm Keccak-224 để dùng trong header hoặc tệp cấu hình
Lưu Ý Bảo Mật
Keccak-224 chưa có tấn công thực tế nào được biết đến. Hash thuần cũng không phù hợp để lưu mật khẩu: hãy dùng hàm băm mật khẩu chậm, có salt như Argon2, scrypt hoặc bcrypt. Mọi phép tính diễn ra cục bộ trong trình duyệt; những gì bạn nhập không được gửi đi đâu cả.
Câu Hỏi Thường Gặp
Keccak-224 và SHA3-224 khác nhau thế nào?
Chỉ khác ở phần đệm: Keccak dùng 0x01, SHA-3 dùng 0x06 (hậu tố miền hai bit). Cùng hoán vị và rate nhưng kết quả hoàn toàn khác nhau. Với đầu vào rỗng, Keccak-224 và SHA3-224 cũng cho ra giá trị băm không liên quan.
Ai đang dùng Keccak-224?
Chủ yếu là phần mềm viết trước khi FIPS 202 được hoàn thiện và một số dự án blockchain. Ethereum dùng Keccak-256; các biến thể 224, 384 và 512 bit xuất hiện trong những thư viện và bộ kiểm thử cũ hơn.
Vì sao chỉ đổi một ký tự mà hash thay đổi hoàn toàn?
Đó là hiệu ứng thác lũ (avalanche) mà mọi hàm băm mật mã đều được thiết kế để có: lật một bit đầu vào sẽ làm thay đổi khoảng một nửa trong 224 bit đầu ra, nên các đầu vào giống nhau vẫn cho giá trị băm chẳng liên quan gì đến nhau.
Dấu cách hoặc ký tự xuống dòng ở cuối có ảnh hưởng không?
Có. Hàm băm tính trên từng byte, nên abc và abc kèm ký tự xuống dòng sẽ cho hai giá trị Keccak-224 khác nhau. Hãy chắc chắn đầu vào chứa đúng những byte bạn muốn băm.