我正在使用Python2.7,需要为solidity事件查找keccak
哈希。但是,我没有看到相同的默认库
我安装了sha3
,但它似乎没有提供此功能。用下面的代码尝试了pysha3
import sha3
k = sha3.keccak_512()
k.update('age')
k.hexdigest()
但是我犯了错误
AttributeError: 'module' object has no attribute 'keccak_512'
sha3实际上没有这个模块
>>> dir(sha3)
['SHA3224', 'SHA3256', 'SHA3384', 'SHA3512', 'SHAKE128', 'SHAKE256', '_SHA3Base', '_SHAKEBase', '__all__', '__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', '_sha3', 'binascii', 'copy', 'hashlib', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'shake128', 'shake256']
pycryptodome
pysha3
请注意:
python3
,字符串需要以二进制形式传递k.update(b'age')
k
,否则它会更新现有散列上的值李>如果您同时拥有
sha3
和pysha3
,它将不起作用,因为import sha3
将默认为sha3
lib在线便利tool
相关问题 更多 >
编程相关推荐