Addresses
為什麼我的私鑰的公鑰沒有生成正確的公共地址?
私鑰:
9ccbcabf23e271183dbed503b43277f4c6eee9ac918cd6cda75ebb73ceb35c7d
相應的公共地址:(
0xa73Fb234B1773ed7b115D18A1f0a15579bA2C1e1
例如,在 MyCrypto 上檢查自己)可以從私鑰生成公鑰:
25b867253fe38ac7ed594f54b4f55fa18c49ced332fc352991e48a77ab7816c759d46cab51a59d9833cd6d958cc752ad95f10bbe469b364db2de5d3535417966
然而,這個公鑰似乎並沒有產生上面的公共地址。相反,在通過 keccak256 執行它,然後取最後 20 個字節後,我們剩下:
0xaa72e09d258da5496a7e6628e09207ec382e478a
我究竟做錯了什麼?
您需要散列公鑰(不是公鑰字元串)的字節。
在 Javascript https://runkit.com/embed/2w4f7dvkz2lg
keccak256 = require('js-sha3').keccak256; keccak256(new Buffer('25b867253fe38ac7ed594f54b4f55fa18c49ced332fc352991e48a77ab7816c759d46cab51a59d9833cd6d958cc752ad95f10bbe469b364db2de5d3535417966', 'hex')).slice(24)
“a73fb234b1773ed7b115d18a1f0a15579ba2c1e1”
注意公鑰是如何放入緩衝區的。