hashlib --- 哈希算法

本模块实现了二进制数据哈希算法。每种算法都以一个类的形式提供,其实例通过 update() 接受增量数据,并通过 digest() 生成固定大小的摘要。OpenMV Cam 提供三种算法:

  • SHA256 —— 当代的现代哈希算法(SHA-2 系列)。它适用于密码学安全用途,且始终可用。

  • SHA1 —— 上一代算法。不推荐用于新用途,但 SHA1 是许多互联网标准和现有应用的组成部分,因此仍然保留可用。

  • MD5 —— 一种旧算法,不被视为密码学安全。提供它是为了与旧版应用互操作。

class hashlib.sha256(data: bytes = b'')

创建一个 SHA256 哈希对象,并可选地向其输入 data

update(data: bytes) None

向哈希输入更多二进制数据。

digest() bytes

以 bytes 对象的形式返回迄今为止所有传入数据的哈希值。调用此方法后,将无法再向该哈希输入数据。

备注

hexdigest() 在 MicroPython 中未实现。请使用 binascii.hexlify(h.digest()) 来获取十六进制字符串。

class hashlib.sha1(data: bytes = b'')

创建一个 SHA1 哈希对象,并可选地向其输入 data

update(data: bytes) None

向哈希输入更多二进制数据。

digest() bytes

以 bytes 对象的形式返回迄今为止所有传入数据的哈希值。调用此方法后,将无法再向该哈希输入数据。

备注

hexdigest() 在 MicroPython 中未实现。请使用 binascii.hexlify(h.digest()) 来获取十六进制字符串。

class hashlib.md5(data: bytes = b'')

创建一个 MD5 哈希对象,并可选地向其输入 data

update(data: bytes) None

向哈希输入更多二进制数据。

digest() bytes

以 bytes 对象的形式返回迄今为止所有传入数据的哈希值。调用此方法后,将无法再向该哈希输入数据。

备注

hexdigest() 在 MicroPython 中未实现。请使用 binascii.hexlify(h.digest()) 来获取十六进制字符串。