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()) для получения шестнадцатеричной строки.