sha256 returns 奇怪的 44 个符号散列(不是通常的 64 个)
sha256 returns strange 44 symbols hash (not 64 as usual)
我正在尝试在我的 Waves dApp 中使用内置函数“sha256”。
https://docs.wavesplatform.com/en/ride/built-in-functions.html
'DataEntry("sha256_kotobytesto64",
toBase64String(sha256(toBytes("Message to hash"))))'
但是这个函数的结果好像和主要的开源sha256实现不一样(https://www.xorbin.com/tools/sha256-hash-calculator):
文本:要散列的消息
骑行:8apFsPX2cDRo+bm8K5h01PprABoXDQ8TKqWibQDQx+U=
标准:f1aa45b0f5f6703468f9b9bc2b9874d4fa6b001a170d0f132aa5a26d00d0c7e5
如何解决?
它们是相同的值,但编码方式不同。 "RIDE" 结果为 base-64,"Standart [sic]" 结果为十六进制(base-16)。
这里是 Python 代码,用于将一种代码转换为另一种代码:
>>> import base64
>>> import binascii
>>> binascii.hexlify(base64.b64decode('8apFsPX2cDRo+bm8K5h01PprABoXDQ8TKqWibQDQx+U='))
b'f1aa45b0f5f6703468f9b9bc2b9874d4fa6b001a170d0f132aa5a26d00d0c7e5'
不久将支持base-16
我对 waves-crypto 库使用了一些不同的方法
base58encode(sha256(stringToUint8Array("string")))
来自客户端
DataEntry("key_string",toBase58String(sha256(toBytes("string"))))
它将帮助 RIDE for dApps 中任何基于提交披露的智能合约
我正在尝试在我的 Waves dApp 中使用内置函数“sha256”。 https://docs.wavesplatform.com/en/ride/built-in-functions.html
'DataEntry("sha256_kotobytesto64", toBase64String(sha256(toBytes("Message to hash"))))'
但是这个函数的结果好像和主要的开源sha256实现不一样(https://www.xorbin.com/tools/sha256-hash-calculator):
文本:要散列的消息
骑行:8apFsPX2cDRo+bm8K5h01PprABoXDQ8TKqWibQDQx+U=
标准:f1aa45b0f5f6703468f9b9bc2b9874d4fa6b001a170d0f132aa5a26d00d0c7e5
如何解决?
它们是相同的值,但编码方式不同。 "RIDE" 结果为 base-64,"Standart [sic]" 结果为十六进制(base-16)。
这里是 Python 代码,用于将一种代码转换为另一种代码:
>>> import base64
>>> import binascii
>>> binascii.hexlify(base64.b64decode('8apFsPX2cDRo+bm8K5h01PprABoXDQ8TKqWibQDQx+U='))
b'f1aa45b0f5f6703468f9b9bc2b9874d4fa6b001a170d0f132aa5a26d00d0c7e5'
不久将支持base-16
我对 waves-crypto 库使用了一些不同的方法
base58encode(sha256(stringToUint8Array("string"))) 来自客户端
DataEntry("key_string",toBase58String(sha256(toBytes("string"))))
它将帮助 RIDE for dApps 中任何基于提交披露的智能合约