2016-09-10 3 views
1

У меня есть проблема с импортом md5 библиотеки Я просто использовать код ниже:Python: ошибка с импортом md5

import md5 
filemd5 = md5.new(password.strip()).hexdigest() 

Я также попробовал этот код:

from hashlib import md5 
filemd5 = md5.new(password.strip()).hexdigest() 

также этот код:

from md5 import md5 

Но никто из них не работает! когда я запускаю код, он дает мне эту ошибку:

11.py", line 1, in <module> 
import md5 
ImportError: No module named 'md5' 

Что я должен делать? Я импортирую неправильную библиотеку?

+0

https://docs.python.org/2/library/hashlib.html –

+0

«md5' _module_ устарел от Python 2.5 и не существует в Python 3.« из hashlib import md5' _should_ работать. Какая ошибка это вам дало? –

+0

Можете ли вы попробовать sudo apt-get install libssl-dev –

ответ

1

md5 не является модулем, это объект. Но он не имеет метода new. Он просто должен быть построен, как и любой объект.

Использование следующим образом:

import hashlib 

m=hashlib.md5(bytes("text","ascii")) # python 3 
m=hashlib.md5("text") # python 2 
print(m.hexdigest()) 

приводит:

1cb251ec0d568de6a929b520c4aed8d1 

Вы также можете создать объект пустой и обновить его впоследствии

m=hashlib.md5() 
m.update("text") # python 2 
m.update(bytes("text","ascii")) # python 3 

примечание (более чем один раз!) что для Python 3 требуется закодированный объект bytes, а не string, так как Py thon 3 делает разницу между строковыми и двоичными данными. MD5 полезен для двоичных и строк.

+0

Большое спасибо! – Shahrad

Смежные вопросы