首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python实现中的Sha-3

python实现中的Sha-3
EN

Stack Overflow用户
提问于 2017-07-18 13:37:06
回答 3查看 11.5K关注 0票数 4

我正在尝试在python.The代码中实现sha-3,下面给出了我如何实现it.But的代码,我一次又一次地得到下面的错误。

代码语言:javascript
复制
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)

下面的错误是我在执行它时得到的。

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-18 13:45:43

这里有两个问题:一个来自您的代码,另一个来自文档,其中包含您想要使用的函数的拼写错误。

您正在调用的函数不在hashlib库中。您希望从pysha3包附带的模块sha3调用函数sha3_228。实际上,存在的是sha3_224,而不是sha3_228

只需用sha3.sha3_224替换hashlib.sha3_228即可。

并确保您已使用命令安装了pysha3

代码语言:javascript
复制
python -m pip install pysha3

下面是一个例子

代码语言:javascript
复制
import sha3
data='maydata'
s=sha3.sha3_224(data.encode('utf-8')).hexdigest()
print(s)
# 20faf4bf0bbb9ca9b3a47282afe713ba53c9e243bc8bdf1d670671cb
票数 11
EN

Stack Overflow用户

发布于 2019-09-07 10:11:02

我也有同样的问题。我自己先安装了sha3。这不管用。然后我安装了pysha3,但它仍然不能工作。我最终卸载了sha3和pysha3。然后我重新安装了pysha3,它工作得很好。

票数 1
EN

Stack Overflow用户

发布于 2021-07-04 15:11:01

您可能需要包括:

代码语言:javascript
复制
import sys

if sys.version_info < (3, 6):
    import sha3

这是因为在默认情况下,hashlib中不包含python sha3的较低版本。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45158351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档