Невозможно импортировать "hashlib" - PullRequest
5 голосов
/ 02 июля 2011

Я пытаюсь зашифровать строку в sha1 и получаю сообщение об ошибке с сервера:

"No Module Named hashlib"

Используя следующий код:


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

Буду признателен за любую помощь,

Спасибо, Гай Дор

Ответы [ 5 ]

6 голосов
/ 02 июля 2011

Возможно, у вас версия Python <2.5.Вместо этого используйте модуль <a href="http://docs.python.org/library/sha.html" rel="nofollow">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'
1 голос
/ 06 марта 2013

Кроме того, FWIW и другие, заканчивающиеся здесь, но для hashlib.md5 ():

import md5

m = md5.new()
...
0 голосов
/ 07 ноября 2016

Самый простой способ найти такие ошибки, связанные с не найденными модулями, это проверить их путь. Я полностью могу запустить код API python facebook ads через консоль, но когда я пробовал этот код через c #, я получил несколько ошибок, связанных с путями.

Чуть ниже указанного оператора перед оператором импорта для указания пути к файлу hashlib.py.


import sys

sys.path.append ( 'C: \ Python34 \ Lib')

Это решило мою проблему.

0 голосов
/ 03 июля 2013

В некоторых производных Python, таких как Jython, используйте следующее:

import _hashlib
h =  _hashlib()
md5Res = h.openssl_md5("helloYou").hexdigest()
print(md5Res)
0 голосов
/ 02 июля 2011

hashlib - это новый модуль / библиотека в python 2.5 сервер, безусловно, работает Python 2,4 или более ранние

...