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()) для отримання шістнадцяткового рядка.