14.4. sha — SHA-1 消息摘要算法 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/sha
跳转至:导航、​搜索

14.4. 沙 — SHA-1 消息摘要算法

自 2.5 版起已弃用: 改用 hashlib 模块。


该模块实现了 NIST 安全哈希算法的接口,称为 SHA-1。 SHA-1 是原始 SHA 哈希算法的改进版本。 它的使用方式与 md5 模块相同:使用 new() 创建一个 sha 对象,然后使用 update() 方法为该对象提供任意字符串,并且在任何时候您都可以要求它提供到目前为止馈送的字符串串联的 digest。 SHA-1 摘要是 160 位,而不是 MD5 的 128 位。

sha.new([string])
返回一个新的 sha 对象。 如果存在 string,则进行方法调用 update(string)

以下值作为模块中的常量以及 new() 返回的 sha 对象的属性提供:

sha.blocksize
输入哈希函数的块大小; 这始终是 1。 此大小用于允许对任意字符串进行散列。
sha.digest_size
结果摘要的大小(以字节为单位)。 这始终是 20

sha 对象与 md5 对象具有相同的方法:

sha.update(arg)
使用字符串 arg 更新 sha 对象。 重复调用等效于将所有参数串联起来的单个调用:m.update(a); m.update(b) 等效于 m.update(a+b)
sha.digest()
返回到目前为止传递给 update() 方法的字符串的摘要。 这是一个 20 字节的字符串,可能包含非 ASCII 字符,包括空字节。
sha.hexdigest()
digest() 类似,但摘要作为长度为 40 的字符串返回,仅包含十六进制数字。 这可用于在电子邮件或其他非二进制环境中安全地交换值。
sha.copy()
返回 sha 对象的副本(“克隆”)。 这可用于有效计算共享公共初始子字符串的字符串的摘要。

也可以看看

安全哈希标准
安全哈希算法由 NIST 文档 FIPS PUB 180-2: 安全哈希标准 定义,发布于 2002 年 8 月。
加密工具包(安全散列)
从 NIST 链接到有关安全散列的各种信息。