Keccak / SHA3 Hasher

Tạo hash Keccak-256, Keccak-512, SHA3-256, SHA3-512 online miễn phí. Công cụ hash tương thích Ethereum cho smart contract và phát triển blockchain.

clearXóapasteDán

Keccak / SHA3 Hasher là gì?

Keccak / SHA3 Hasher là công cụ online miễn phí để tạo hash mật mã sử dụng thuật toán Keccak và SHA3. Keccak-256 là hàm hash được Ethereum sử dụng cho địa chỉ, ID giao dịch và hàm smart contract. SHA3 là phiên bản được NIST chuẩn hóa với một số thay đổi nhỏ.

Công cụ hỗ trợ đầu vào văn bản và hexadecimal, hoàn hảo cho lập trình viên blockchain, kiểm toán viên smart contract và những người đam mê cryptocurrency.

Các Thuật Toán Hash Có Sẵn

Thuật ToánKích Thước Đầu RaỨng Dụng
Keccak-256256 bits (32 bytes)Địa chỉ Ethereum, hash giao dịch, function selector
Keccak-512512 bits (64 bytes)Ứng dụng bảo mật cao, mật mã học nâng cao
SHA3-256256 bits (32 bytes)Chuẩn NIST, hash mật mã tổng quát
SHA3-512512 bits (64 bytes)Chuẩn NIST, hash bảo mật tối đa

Sự khác biệt giữa Keccak và SHA3 là gì?

Keccak thắng cuộc thi SHA3 năm 2012, nhưng NIST đã thực hiện một số thay đổi nhỏ trước khi chuẩn hóa thành SHA3 vào năm 2015. Ethereum sử dụng thuật toán Keccak gốc (trước NIST), không phải SHA3 đã được chuẩn hóa. Điều này có nghĩa là keccak256('') ≠ sha3_256('') mặc dù cả hai đều là hash 256-bit. Luôn sử dụng Keccak-256 khi phát triển cho Ethereum.

Tại sao Ethereum sử dụng Keccak-256?

Ethereum chọn Keccak-256 trước khi SHA3 được NIST hoàn thiện. Nó được dùng để: tạo địa chỉ contract từ địa chỉ deployer và nonce, tạo ID giao dịch, hash chữ ký hàm (4 bytes đầu tiên trở thành function selector), và tính toán vị trí storage slot trong smart contract.

Khi nào nên dùng chế độ đầu vào hex?

Sử dụng đầu vào hex khi hash dữ liệu nhị phân như bytecode, lệnh gọi hàm đã mã hóa, hoặc dữ liệu giao dịch raw. Công cụ sẽ chuyển đổi chuỗi hex thành mảng byte trước khi hash. Ví dụ, hash '0x1234' sẽ hash các byte [0x12, 0x34], không phải ký tự văn bản '0x1234'.

Làm sao để xác minh địa chỉ Ethereum?

Để tạo địa chỉ Ethereum: 1) Lấy public key (64 bytes, không bao gồm prefix 0x04), 2) Hash bằng Keccak-256, 3) Lấy 20 bytes cuối (40 ký tự hex), 4) Thêm prefix '0x'. Kết quả là địa chỉ Ethereum. Công cụ này có thể tính bước 2.

Công cụ này có an toàn không?

Có! Tất cả quá trình hash diễn ra hoàn toàn trên trình duyệt của bạn sử dụng thư viện JavaScript js-sha3. Không có dữ liệu nào được gửi đến máy chủ. Tuy nhiên, đừng bao giờ hash private key nhạy cảm hoặc bí mật trên bất kỳ công cụ online nào - luôn sử dụng công cụ offline đã được kiểm toán cho các thao tác mật mã nhạy cảm.

Các Trường Hợp Sử Dụng Phổ Biến

  • Phát Triển Smart Contract: Tạo function selector (4 bytes đầu của hash keccak256 của chữ ký hàm)
  • Xác Minh Địa Chỉ Ethereum: Tính hash Keccak-256 của public key để tạo địa chỉ
  • Phân Tích Giao Dịch: Hash dữ liệu giao dịch để xác minh ID giao dịch
  • Tạo Event Signature: Tạo hash topic cho Ethereum logs
  • Tính Storage Slot: Xác định vị trí lưu trữ trong mapping và array của Solidity
  • Tính Toàn Vẹn Dữ Liệu: Xác minh tính toàn vẹn file bằng hash chuẩn SHA3 NIST
  • Metadata NFT: Hash metadata để tạo định danh duy nhất cho NFT
  • Xây Dựng Merkle Tree: Tạo hash lá và nút cho Merkle proof