Back to Micropython

:mod:`hashlib` -- hashing algorithms

docs/library/hashlib.rst

1.28.01.7 KB
Original Source

:mod:hashlib -- hashing algorithms

.. module:: hashlib :synopsis: hashing algorithms

|see_cpython_module| :mod:python:hashlib.

This module implements binary data hashing algorithms. The exact inventory of available algorithms depends on a board. Among the algorithms which may be implemented:

  • SHA256 - The current generation, modern hashing algorithm (of SHA2 series). It is suitable for cryptographically-secure purposes. Included in the MicroPython core and any board is recommended to provide this, unless it has particular code size constraints.

  • SHA1 - A previous generation algorithm. Not recommended for new usages, but SHA1 is a part of number of Internet standards and existing applications, so boards targeting network connectivity and interoperability will try to provide this.

  • MD5 - A legacy algorithm, not considered cryptographically secure. Only selected boards, targeting interoperability with legacy applications, will offer this.

Constructors

.. class:: hashlib.sha256([data])

Create an SHA256 hasher object and optionally feed ``data`` into it.

.. class:: hashlib.sha1([data])

Create an SHA1 hasher object and optionally feed ``data`` into it.

.. class:: hashlib.md5([data])

Create an MD5 hasher object and optionally feed ``data`` into it.

Methods

.. method:: hash.update(data)

Feed more binary data into hash.

.. method:: hash.digest()

Return hash for all data passed through hash, as a bytes object. After this method is called, more data cannot be fed into the hash any longer.

.. method:: hash.hexdigest()

This method is NOT implemented. Use binascii.hexlify(hash.digest()) to achieve a similar effect.