4

私はpythonでsha-3を実装しようとしています.以下のコードは私がそれを実装した方法です.しかし、私は何度も以下のエラーを取得しています.

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

4

3 に答える 3

11

ここには 2 つの問題があります。1 つはコードによるもので、もう 1 つはドキュメントによるもので、使用したい関数のタイプミスが含まれています。

hashlibライブラリに存在しない関数を呼び出しています。package に同梱されているsha3_228module から関数を呼び出したいとします。実際には存在しない、存在するということです。sha3pysha3sha3_228sha3_224

hashlib.sha3_228に置き換えるだけsha3.sha3_224です。

pysha3そして、コマンドでインストールしたことを確認してください

python -m pip install pysha3

ここに例があります

import sha3
data='maydata'
s=sha3.sha3_224(data.encode('utf-8')).hexdigest()
print(s)
# 20faf4bf0bbb9ca9b3a47282afe713ba53c9e243bc8bdf1d670671cb
于 2017-07-18T05:45:42.697 に答える