【问题标题】:Python : error with importing md5Python:导入 md5 时出错
【发布时间】:2016-09-10 07:07:44
【问题描述】:

我在导入 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'

我应该怎么做? 我是否导入了错误的库?

【问题讨论】:

标签: python md5


【解决方案1】:

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 对二进制和字符串很有用。

【讨论】:

    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 2015-09-09
    • 1970-01-01
    相关资源
    最近更新 更多