Python:导入 md5 时出错

Python : error with importing md5

我在导入 md5 库时遇到问题 我只使用下面的代码:

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

我也试过这个代码:

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

还有这段代码:

from md5 import md5

但其中 none 个正在工作! 当我 运行 代码时,它给了我这个错误:

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

我该怎么办? 我是不是导入了错误的库?

md5 不是模块,是对象。但是它没有 new 方法。它只是必须构建,就像任何对象一样。

使用如下:

import hashlib

m=hashlib.md5(b"text")
print(m.hexdigest())

b 前缀是 Python 3 所要求的,并且被理解(并且被 python 2.7 忽略)。 python 2 的旧版本不接受它(只需将 "text" 作为字符串传递)

结果:

1cb251ec0d568de6a929b520c4aed8d1

您也可以创建空对象然后更新它(不止一次!)

m=hashlib.md5()
m.update(b"text")
m.update(b"other text")
s = "some more text"
m.update(s.encode())

请注意 Python 3 需要编码的 bytes 对象,而不是 string,因为 Python 3 区分字符串和二进制数据。 MD5 对二进制和字符串很有用。