我正在尝试在python.The代码中实现sha-3,下面给出了我如何实现it.But的代码,我一次又一次地得到下面的错误。
import sys
import hashlib
arg1 = sys.argv[1]
with open(arg1, 'r') as myfile:
data=myfile.read().replace('\n', '')
import sha3
s=hashlib.sha3_228(data.encode('utf-8')).hexdigest()
print(s)下面的错误是我在执行它时得到的。
Traceback (most recent call last):
File "sha3.py", line 6, in <module>
import sha3
File "/home/hello/Documents/SHA-3/sha3.py", line 7, in <module>
s=hashlib.sha3_228(data.encode('utf-8')).hexdigest()
AttributeError: 'module' object has no attribute 'sha3_228'以下链接可供参考。https://pypi.python.org/pypi/pysha3
发布于 2017-07-18 13:45:43
这里有两个问题:一个来自您的代码,另一个来自文档,其中包含您想要使用的函数的拼写错误。
您正在调用的函数不在hashlib库中。您希望从pysha3包附带的模块sha3调用函数sha3_228。实际上,存在的是sha3_224,而不是sha3_228。
只需用sha3.sha3_224替换hashlib.sha3_228即可。
并确保您已使用命令安装了pysha3
python -m pip install pysha3下面是一个例子
import sha3
data='maydata'
s=sha3.sha3_224(data.encode('utf-8')).hexdigest()
print(s)
# 20faf4bf0bbb9ca9b3a47282afe713ba53c9e243bc8bdf1d670671cb发布于 2019-09-07 10:11:02
我也有同样的问题。我自己先安装了sha3。这不管用。然后我安装了pysha3,但它仍然不能工作。我最终卸载了sha3和pysha3。然后我重新安装了pysha3,它工作得很好。
发布于 2021-07-04 15:11:01
您可能需要包括:
import sys
if sys.version_info < (3, 6):
import sha3这是因为在默认情况下,hashlib中不包含python sha3的较低版本。
https://stackoverflow.com/questions/45158351
复制相似问题