当调用sha3.keccak_256()提示AttributeError: module 'sha3' has no attribute 'keccak_256'

原因:安装sha3和pysha3的时候,默认调用的是sha3,此时查看sha3,可以发现没有keccak_256

>>> import sha3
>>> dir(sha3)
['SHA3224', 'SHA3256', 'SHA3384', 'SHA3512', 'SHAKE128', 'SHAKE256', '_SHA3Base', '_SHAKEBase', '__all__', '__author__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_sha3', 'binascii', 'copy', 'hashlib', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'shake128', 'shake256']

使用命令:from _pysha3 import keccak_256可以解决keccakno attribute问题

from _pysha3 import keccak_224, keccak_256, keccak_384, keccak_512
from _pysha3 import sha3_224, sha3_256, sha3_384, sha3_512
from _pysha3 import shake_128, shake_256

可以参考:https://github.com/tiran/pysha3/blob/master/sha3.py

猜你喜欢

转载自blog.csdn.net/poetry_and_distance/article/details/80459528