5

sha1 で文字列を暗号化しようとすると、サーバーからエラーが発生します。

"No Module Named hashlib"

次のコードを使用します。


import hashlib
encrypted = hashlib.sha1(string)
encrypted = encrypted.digest()

助けていただければ幸いです。

ありがとう、ガイ・ドール

4

5 に答える 5

6

おそらく python バージョン < 2.5 です。sha代わりにモジュールを使用してください。

違いは次のとおりです。

>>> import sha
>>> s = sha.new()
>>> s.update('hello')
>>> s.digest()
'\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe\xde\x0f;H,\xd9\xae\xa9CM'

>>> import hashlib
>>> hashlib.sha1('hello').digest()
'\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe\xde\x0f;H,\xd9\xae\xa9CM'
于 2011-07-02T15:07:25.507 に答える
1

また、FWIW およびその他の場合はここで終了しますが、hashlib.md5() の場合:

import md5

m = md5.new()
...
于 2013-03-06T18:00:44.430 に答える
0

hashlib は Python 2.5 の新しいモジュール/ライブラリです。サーバーは確かにPython 2.4以前を実行します。

于 2011-07-02T15:06:27.593 に答える
0

Jython などの一部の python 派生物では、次を使用します。

import _hashlib
h =  _hashlib()
md5Res = h.openssl_md5("helloYou").hexdigest()
print(md5Res)
于 2013-07-03T11:35:31.897 に答える