1

我试图弄清楚为什么 sha3("\x80") 不同于 sha3("0x80", {encoding:'hex'} )

web3.sha3( "\x80" )
"0x0f50dcb7f76b82d3cf8c843adacd5cb4d1ce1b6de2ef1f2557f196d07c26f08e"

web3.sha3( "0x80" , { encoding : 'hex' } )
"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"

但如果我的字节都<0x80,它就可以工作。例如,如果我尝试使用 \x70 :

web3.sha3( "\x70" )
"0x2304e88f144ae9318c71b0fb9e0f44bd9e0c6c58fb1b5315a35fd8b4b2a444ab"

web3.sha3( "0x70" , { encoding : 'hex' } )
"0x2304e88f144ae9318c71b0fb9e0f44bd9e0c6c58fb1b5315a35fd8b4b2a444ab"

我问的原因是因为虽然我可以将 { encoding : 'hex' } 与 web3.js 一起使用,但这个选项在 tronWeb.js 的 tronWeb.sha3() 中不可用,它只需要 1 个参数。因此,如果我没有使用 { encoding : 'hex' } 选项,我正在考虑一种解决方法。

4

0 回答 0