14.3. md5 — MD5 消息摘要算法 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/md5
14.3. MD5 — MD5 消息摘要算法
自 2.5 版起已弃用: 改用 hashlib 模块。
该模块实现了 RSA 的 MD5 消息摘要算法的接口(另请参见 Internet RFC 1321)。 它的使用非常简单:使用 new() 创建一个 md5 对象。 您现在可以使用 update()
方法为这个对象提供任意字符串,并且在任何时候您都可以要求它提供 digest(一种强大的 128 位校验和,又名 到目前为止使用 digest()
方法输入的字符串串联的“指纹”)。
例如,要获取字符串 'Nobody inspects the spammish repetition'
的摘要:
>>> import md5
>>> m = md5.new()
>>> m.update("Nobody inspects")
>>> m.update(" the spammish repetition")
>>> m.digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'
更浓缩:
>>> md5.new("Nobody inspects the spammish repetition").digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'
以下值作为模块中的常量以及由 new() 返回的 md5 对象的属性提供:
- md5.digest_size
- 结果摘要的大小(以字节为单位)。 这始终是
16
。
md5 模块提供以下功能:
- md5.new([arg])
- 返回一个新的 md5 对象。 如果存在 arg,则进行方法调用
update(arg)
。
- md5.md5([arg])
- 出于向后兼容性的原因,这是 new() 函数的替代名称。
md5 对象具有以下方法:
- md5.update(arg)
- 使用字符串 arg 更新 md5 对象。 重复调用等效于将所有参数串联起来的单个调用:
m.update(a); m.update(b)
等效于m.update(a+b)
。
- md5.digest()
- 返回到目前为止传递给 update() 方法的字符串的摘要。 这是一个 16 字节的字符串,可能包含非 ASCII 字符,包括空字节。
- md5.hexdigest()
- 与 digest() 类似,但摘要作为长度为 32 的字符串返回,仅包含十六进制数字。 这可用于在电子邮件或其他非二进制环境中安全地交换值。
- md5.copy()
- 返回 md5 对象的副本(“克隆”)。 这可用于有效计算共享公共初始子字符串的字符串的摘要。