Tạo mã băm Keccak256 Online

Trình tạo băm KECCAK256, băm này được sử dụng trong các ứng dụng mã hóa 1 chiều để giúp chuyển đổi một chuỗi thành KECCAK256

Enter string to convert to KECCAK256

Công cụ hỗ trợ tạo mã keccak 256 trực tuyến dễ dàng và nhanh chóng.

Bạn chỉ cần nhập một chuỗi hoặc một số bất kỳ rồi nhấn nút, hệ thống sẽ tạo ra một băm keccak 256.

KECCAK256 là gì?

Keccak là người chiến thắng trong cuộc thi SHA-3, vì vậy nhiều người gọi SHA-3 là Keccak. Thuật toán cốt lõi vẫn giống nhau, nhưng có một chút sửa đổi cho SHA-3. Đó là lý do tại sao khi chúng tôi so sánh kết quả SHA-3 với kết quả Keccak, nó sẽ khác.

Ethereum sử dụng Keccak256 trong một công cụ đồng thuận có tên là Ethash. Keccak là một họ các hàm băm mà cuối cùng đã được chuẩn hóa thành SHA-3 (SHA256 là một phần của họ các hàm băm được gọi là SHA-2). Ethereum gọi nó là Keccak thay vì SHA-3 vì nó có các thông số hơi khác so với SHA-3 hiện tại.

Sự khác biệt giữa keccak256 và sha3

Họ không làm như vậy, nội bộ và cấp độ bảo mật đã không được thay đổi so với bản thảo Keccak đệ trình, chỉ có quy tắc đệm là đã thay đổi.

Thay đổi phần đệm là sự khác biệt duy nhất, điều này cho phép các chế độ băm cây trong tương lai cũng như các đầu ra SHAKE hiện tại tạo ra các thông báo khác nhau với các thông số bảo mật và đầu vào thông báo giống nhau. Tối đa 4 bit bổ sung được thêm vào, giữ nguyên phần đệm bên trong ranh giới byte, làm cho việc triển khai với đầu vào chỉ octet có thể chuyển sang SHA-3 từ Keccak chỉ với một dòng mã duy nhất.

Việc thay đổi lớp đệm không có tác động tiêu cực đến tính bảo mật của SHA-3.

KECCAK256 trong ngôn ngữ lập trình

Đầu ra của hàm băm mật mã KECCAK256 có giống nhau trong tất cả các ngôn ngữ lập trình không?

Có, việc triển khai đúng KECCAK256 sẽ tạo ra cùng một kết quả, nếu không, KECCAK256 sẽ không hữu ích như một tổng kiểm tra. Sự khác biệt có thể đến với mã hóa và thứ tự byte. Bạn phải chắc chắn rằng văn bản được mã hóa theo cùng một chuỗi byte.

Có thể giải mã KECCAK256 không?

Không, điều đó là không thể.

KECCAK256 bằng PHP

PHP làm thế nào để chuyển đổi chuỗi thành băm KECCAK256?

kornrunner / php-keccak

composer require kornrunner/keccak
use kornrunner\Keccak; $hash = Keccak::hash('sita.app', 256); //output: eedac5dd0fa73bb98e905b09d9836417700fd0e7755e6432821ede8d01046a25

KECCAK256 trong Nodejs

Nodejs làm thế nào để chuyển đổi chuỗi thành băm KECCAK256?
keccak256 trong github

npm install keccak256
const keccak256 = require('keccak256')
console.log(keccak256('sita.app in nodejs').toString('hex'))
//output: "dbe0968e1bc268f2ab024cad921cab5128d508acb563e1d63d4b7b7c5d30189a"
console.log(keccak256(Buffer.from('sita.app in nodejs')).toString('hex'))
//output: "dbe0968e1bc268f2ab024cad921cab5128d508acb563e1d63d4b7b7c5d30189a"

KECCAK256 bằng Python

Python làm thế nào để chuyển đổi chuỗi thành băm KECCAK256?

pycryptodome

from Crypto.Hash import keccak
k = keccak.new(digest_bits=256)
k.update('sita.app')
print k.hexdigest()

pysha3

import sha3
k = sha3.keccak_256()
k.update('string')
print k.hexdigest()
  • Đối với python3, các chuỗi cần được chuyển dưới dạng nhị phân k.update (b'string ')
  • Nếu bạn muốn tìm một hàm băm mới, bạn cần phải khởi tạo lại k nếu không nó sẽ cập nhật giá trị trên đầu giá trị hiện có.
  • pysha3 không hoạt động vì tôi đã cài đặt cả thư viện sha3 và pysha3, vì vậy nhập ưu tiên sha3 cho sha3 lib.