Công cụ tạo hash SHA-256 kép (SHA-256d)
Tính SHA-256 kép (SHA-256d), hàm băm của Bitcoin: SHA-256 của giá trị băm SHA-256 dạng nhị phân. Đầu vào hex, tùy chọn đảo thứ tự byte, chạy trong trình duyệt.
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.
SHA-256 kép (SHA-256d) là gì?
SHA-256 kép, còn viết là SHA-256d, băm đầu vào bằng SHA-256 rồi băm tiếp giá trị băm nhị phân 32 byte thu được bằng SHA-256 thêm lần nữa. Đây là hàm băm Bitcoin dùng cho header khối, mã giao dịch, cây Merkle và checksum Base58Check. Công cụ cũng có thể hiển thị kết quả theo thứ tự byte đảo ngược, giống cách các trình khám phá khối hiển thị hash.
Cách sử dụng SHA-256 kép (SHA-256d)
- Nhập dữ liệu vào ô Văn bản cần băm; với cấu trúc Bitcoin, chọn Byte dạng hex làm mã hóa đầu vào và dán header hoặc giao dịch đã tuần tự hóa.
- Để mã hóa ở Văn bản (UTF-8) nếu muốn băm một chuỗi thông thường.
- Đánh dấu Đảo thứ tự byte để nhận giá trị như trình khám phá khối và Bitcoin Core hiển thị (txid / hash khối).
- Chọn Định dạng đầu ra và bấm Sao chép.
Ví dụ
Bitcoin genesis block header (Hex bytes): 0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c, Reverse byte order on
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Đây là hash khối genesis nổi tiếng. Không đảo byte, kết quả là 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.
Khi nào nên dùng SHA-256 kép (SHA-256d)
Dùng để kiểm tra thủ công header khối hoặc mã giao dịch Bitcoin, tính checksum Base58Check (4 byte đầu của SHA-256d), hoặc tái tạo giá trị SHA-256d từ các giao thức khác. Đừng dùng cho mật khẩu, và đừng dùng nếu đặc tả yêu cầu SHA-256 thường — kết quả khác nhau. Băm lần hai chuỗi hex của giá trị băm cũng không phải SHA-256d.
SHA-256 kép (SHA-256d) hoạt động như thế nào
Công cụ tính SHA-256(SHA-256(data)). Chi tiết quan trọng là lần SHA-256 thứ hai chạy trên 32 byte thô của giá trị băm đầu tiên, không phải trên chuỗi hex 64 ký tự của nó — nhiều công cụ online làm sai điều này. Bitcoin coi kết quả 32 byte là một số little-endian, nên hash khối quen thuộc có các số 0 ở đầu chính là giá trị băm với các byte bị đảo ngược; tùy chọn Đảo thứ tự byte làm đúng việc đó.
Các Trường Hợp Sử Dụng Phổ Biến
- Kiểm tra hash khối Bitcoin từ header 80 byte của nó
- Tính mã giao dịch (txid) từ giao dịch thô đã tuần tự hóa
- Tính checksum 4 byte của địa chỉ Base58Check hoặc khóa WIF
- Đối chiếu bản cài đặt đào coin hoặc ví trong quá trình phát triển
Lưu Ý Bảo Mật
SHA-256d chống va chạm tốt như SHA-256. Nó không phải hàm băm mật khẩu — hãy dùng Argon2, scrypt hoặc bcrypt cho mật khẩu. Mọi thao tác băm diễn ra cục bộ trong trình duyệt.
Câu Hỏi Thường Gặp
Vì sao Bitcoin băm hai lần?
Satoshi dùng SHA-256d, nhiều khả năng để phòng tấn công mở rộng độ dài với hàm băm Merkle–Damgård đơn. Nó không làm va chạm khó tìm hơn bản thân SHA-256, nhưng giờ đã cố định trong giao thức.
Vì sao kết quả của tôi không khớp với trình khám phá khối?
Ba nguyên nhân phổ biến: header được nhập dạng văn bản thay vì Byte dạng hex, lần băm thứ hai được thực hiện trên chuỗi hex thay vì giá trị băm thô, hoặc thứ tự byte chưa được đảo. Đánh dấu Đảo thứ tự byte để có hash kiểu trình khám phá khối.
SHA-256 kép của "abc" là gì?
Với đầu vào UTF-8 và thứ tự byte bình thường, kết quả là 4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358.