Công cụ tạo mã băm SHA3-224
Tạo mã băm SHA3-224 cho mọi đoạn văn bản 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 mã băm SHA3-224 là gì?
SHA3-224 là hàm băm có độ dài cố định 224 bit thuộc chuẩn SHA-3 (FIPS 202, 2015), dựa trên cấu trúc sponge Keccak thay vì thiết kế SHA-2. Công cụ này tính giá trị băm SHA3-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 mã băm SHA3-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 thị 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
e642824c3f8cf24ad09234ee7d3c766fc9a3a5168d0c94ad73b46fdf
SHA3-224 của 3 byte ASCII "abc" (UTF-8, đầu ra hex chữ thường) — test vector chuẩn.
Khi nào nên dùng Tạo mã băm SHA3-224
Dùng công cụ SHA3-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, xây dựng test vector, đối chiếu dữ liệu đầu vào của chữ ký API hoặc kiểm tra kết quả mà chương trình lẽ ra phải trả về. Đừng dùng nó để kiểm tra tệp đã tải xuống: 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ã, vì vậy hãy dùng công cụ checksum tệp SHA3-224. Nếu bạn làm việc với Ethereum hoặc phần mềm khác ghi là "SHA3" nhưng ra đời trước FIPS 202, nhiều khả năng bạn cần Keccak-224.
Tạo mã băm SHA3-224 hoạt động như thế nào
SHA3-224 là một hàm sponge trên hoán vị Keccak-f 1600 bit (24 vòng gồm các bước θ, ρ, π, χ và ι). Đầu vào được hấp thụ theo khối 1152 bit (rate; capacity 448 bit), được đệm bằng hậu tố miền SHA-3 01 rồi đến pad10*1 (byte 0x06 … 0x80). Sau khi hấp thụ xong, 224 bit đầu tiên của trạng thái được "vắt" ra làm giá trị băm. Hậu tố này là điểm khác biệt duy nhất so với Keccak-224 nguyên bản, nhưng nó làm thay đổi mọi kết quả. Văn bản được chuyển thành byte trước (mặc định là UTF-8), nên cùng một chuỗi ký tự luôn cho cùng một hash.
Các Trường Hợp Sử Dụng Phổ Biến
- Kiểm tra giá trị SHA3-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ừ debugger, bản ghi gói tin hoặc đặc tả giao thức
- So sánh kết quả SHA3-224 giữa hai ngôn ngữ lập trình đang cho ra giá trị khác nhau
- Tạo mã định danh hoặc khóa cache xác định (deterministic) từ văn bản
- Lấy dạng Base64 của giá trị băm SHA3-224 để dùng trong header hoặc tệp cấu hình
Lưu Ý Bảo Mật
Hiện chưa có tấn công thực tế nào được biết đến đối với SHA3-224. 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 đều diễn ra cục bộ trong trình duyệt; không có gì bạn nhập được gửi đi đâu cả.
Câu Hỏi Thường Gặp
Vì sao SHA3-224 của tôi không khớp với Ethereum hoặc một thư viện cũ?
Ethereum và một số thư viện cũ dùng bản Keccak gốc, đệm bằng 0x01 thay vì hậu tố 0x06 của FIPS 202. Kết quả hoàn toàn khác nhau; hãy dùng công cụ Keccak-224 cho những giá trị đó.
SHA3-224 có tốt hơn SHA-224 không?
Cả hai đều an toàn. SHA-3 có cấu trúc khác (sponge), nên tạo sự đa dạng phòng khi SHA-2 bị suy yếu, đồng thời miễn nhiễm với tấn công mở rộng độ dài (length extension). SHA-2 chạy nhanh hơn trên phần mềm và được triển khai rộng rãi hơn.
Vì sao hash thay đổi hoàn toàn khi tôi chỉ sửa một ký tự?
Đó 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 số 224 bit đầu ra, nên các đầu vào gần giống nhau cho ra giá trị băm không hề liên quan.
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 xử lý từng byte, nên abc và abc kèm ký tự xuống dòng cho ra hai giá trị SHA3-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.