hashlib — algorytmy haszujące

Ten moduł implementuje algorytmy haszowania danych binarnych. Każdy algorytm jest udostępniony jako klasa, której instancje przyjmują dane przyrostowo poprzez update() i tworzą skrót o stałym rozmiarze poprzez digest(). OpenMV Cam udostępnia trzy algorytmy:

  • SHA256 - Obecna generacja, nowoczesny algorytm haszujący (z serii SHA-2). Nadaje się do celów kryptograficznie bezpiecznych i jest zawsze dostępny.

  • SHA1 - Algorytm poprzedniej generacji. Niezalecany do nowych zastosowań, ale SHA1 jest częścią wielu standardów internetowych i istniejących aplikacji, więc pozostaje dostępny.

  • MD5 - Algorytm starszego typu, nieuznawany za kryptograficznie bezpieczny. Udostępniany dla interoperacyjności ze starszymi aplikacjami.

Klasy

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

Tworzy obiekt haszujący SHA256 i opcjonalnie podaje do niego data.

update(data: bytes) None

Podaje więcej danych binarnych do hasza.

digest() bytes

Zwraca hasz wszystkich danych przekazanych przez niego do tej pory, jako obiekt bytes. Po wywołaniu tej metody nie można już podawać kolejnych danych do hasza.

Informacja

hexdigest() nie jest zaimplementowane w MicroPython. Użyj binascii.hexlify(h.digest()), aby uzyskać łańcuch szesnastkowy.

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

Tworzy obiekt haszujący SHA1 i opcjonalnie podaje do niego data.

update(data: bytes) None

Podaje więcej danych binarnych do hasza.

digest() bytes

Zwraca hasz wszystkich danych przekazanych przez niego do tej pory, jako obiekt bytes. Po wywołaniu tej metody nie można już podawać kolejnych danych do hasza.

Informacja

hexdigest() nie jest zaimplementowane w MicroPython. Użyj binascii.hexlify(h.digest()), aby uzyskać łańcuch szesnastkowy.

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

Tworzy obiekt haszujący MD5 i opcjonalnie podaje do niego data.

update(data: bytes) None

Podaje więcej danych binarnych do hasza.

digest() bytes

Zwraca hasz wszystkich danych przekazanych przez niego do tej pory, jako obiekt bytes. Po wywołaniu tej metody nie można już podawać kolejnych danych do hasza.

Informacja

hexdigest() nie jest zaimplementowane w MicroPython. Użyj binascii.hexlify(h.digest()), aby uzyskać łańcuch szesnastkowy.