我正在尝试加密sha1中的字符串,我从服务器收到错误:
"No Module Named hashlib"
使用以下代码:
import hashlib
encrypted = hashlib.sha1(string)
encrypted = encrypted.digest()
我会感激任何帮助,
谢谢, Guy Dor
答案 0 :(得分: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'
VS
>>> import hashlib
>>> hashlib.sha1('hello').digest()
'\xaa\xf4\xc6\x1d\xdc\xc5\xe8\xa2\xda\xbe\xde\x0f;H,\xd9\xae\xa9CM'
答案 1 :(得分:1)
此外,FWIW和其他人在此结束,但对于hashlib.md5():
import md5
m = md5.new()
...
答案 2 :(得分:0)
hashlib是python 2.5 中的新模块/库 服务器肯定运行 python 2.4 或更早
答案 3 :(得分:0)
在某些python衍生产品(如Jython)上,使用以下命令:
import _hashlib
h = _hashlib()
md5Res = h.openssl_md5("helloYou").hexdigest()
print(md5Res)
答案 4 :(得分:0)
找到与未找到的模块相关的此类错误的最简单方法是验证其路径。我完全能够通过控制台运行python facebook ads api代码但是当我通过c#尝试这个代码时,我得到了几个与路径相关的错误。
在import语句之前的给定语句下面给出" hashlib.py文件"的路径。
导入sys
它解决了我的问题。