On this page
14.4. sha — 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)
。
- 返回一个新的 sha 对象。如果存在* 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)
。
- 使用字符串* arg *更新 sha 对象。重复调用等效于将所有参数串联在一起的单个调用:
sha.
digest
( )- 返回到目前为止传递给update()方法的字符串的摘要。这是一个 20 字节的字符串,其中可能包含非 ASCII 字符,包括空字节。
sha.
hexdigest
( )- 像digest()一样,摘要以字符串形式返回,长度为 40,仅包含十六进制数字。这可用于在电子邮件或其他非二进制环境中安全地交换值。
sha.
copy
( )- 返回 sha 对象的副本(“克隆”)。这可用于有效地计算共享公共初始子字符串的字符串的摘要。
See also
安全哈希算法由 2002 年 8 月发布的 NIST 文档 FIPS PUB 180-2:安全哈希标准定义。
从 NIST 链接到有关安全哈希的各种信息。