hashlib – 散列算法

警告

虽然这个基于 MicroPython 的库可能可用于某些 CircuitPython 版本,但它不受支持,并且其功能在未来可能会发生重大变化。随着 CircuitPython 的不断发展,它可能会更改以更紧密地符合相应的标准 Python 库。如果您依赖它当前提供的任何非标准功能,您以后可能需要更改您的代码。

该模块实现了相应 CPython 模块的 一个子集,如下所述。有关更多信息,请参阅原始 CPython 文档: hashlib.

该模块实现了二进制数据散列算法。可用算法的确切清单取决于电路板。在可以实现的算法中:

  • SHA256 - 当前一代的现代散列算法(SHA2 系列)。它适用于加密安全目的。包含在 MicroPython 核心中,建议任何板提供此功能,除非它有特定的代码大小限制。

  • SHA1 - 上一代算法。不推荐用于新用途,但 SHA1 是许多 Internet 标准和现有应用程序的一部分,因此针对网络连接和互操作性的板将尝试提供此功能。

  • MD5 - 一种遗留算法,不被认为是加密安全的。只有选定的板卡,旨在与传统应用程序的互操作性,将提供此功能。

构造函数

class hashlib.sha256([data])

创建一个 SHA256 散列器对象并选择性地data 输入它。

class hashlib.sha1([data])

创建一个 SHA1 哈希器对象并选择性地 data输入它。

class hashlib.md5([data])

创建一个 MD5 哈希器对象并选择性地data 输入它。

方法

hash.update(data)

将更多的二进制数据输入到哈希中。

hash.digest()

返回通过哈希传递的所有数据的哈希,作为字节对象。调用此方法后,无法再将更多数据输入到哈希中。

hash.hexdigest()

此方法未实现。使用binascii.hexlify(hash.digest())来达到类似的效果。