hashlib — algoritmi za sažimanje

Ovaj modul implementira algoritme za sažimanje (hashing) binarnih podataka. Svaki algoritam izložen je kao klasa čije instance prihvaćaju inkrementalne podatke putem update() i proizvode sažetak fiksne veličine putem digest(). OpenMV Cam pruža tri algoritma:

  • SHA256 - Trenutna generacija, moderni algoritam za sažimanje (iz serije SHA-2). Prikladan je za kriptografski sigurne svrhe i uvijek je dostupan.

  • SHA1 - Algoritam prethodne generacije. Nije preporučen za nove primjene, ali SHA1 je dio brojnih internetskih standarda i postojećih aplikacija, pa ostaje dostupan.

  • MD5 - Naslijeđeni algoritam, ne smatra se kriptografski sigurnim. Pruža se radi interoperabilnosti s naslijeđenim aplikacijama.

Klase

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

Stvara SHA256 hasher objekt i opcionalno mu predaje data.

update(data: bytes) None

Predaje više binarnih podataka u sažetak.

digest() bytes

Vraća sažetak svih podataka koji su dosad kroz njega prošli, kao bytes objekt. Nakon poziva ove metode, više se nikakvi podaci ne mogu predati u sažetak.

Napomena

hexdigest() nije implementiran u MicroPythonu. Koristite binascii.hexlify(h.digest()) za dobivanje heksadekadskog niza.

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

Stvara SHA1 hasher objekt i opcionalno mu predaje data.

update(data: bytes) None

Predaje više binarnih podataka u sažetak.

digest() bytes

Vraća sažetak svih podataka koji su dosad kroz njega prošli, kao bytes objekt. Nakon poziva ove metode, više se nikakvi podaci ne mogu predati u sažetak.

Napomena

hexdigest() nije implementiran u MicroPythonu. Koristite binascii.hexlify(h.digest()) za dobivanje heksadekadskog niza.

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

Stvara MD5 hasher objekt i opcionalno mu predaje data.

update(data: bytes) None

Predaje više binarnih podataka u sažetak.

digest() bytes

Vraća sažetak svih podataka koji su dosad kroz njega prošli, kao bytes objekt. Nakon poziva ove metode, više se nikakvi podaci ne mogu predati u sažetak.

Napomena

hexdigest() nije implementiran u MicroPythonu. Koristite binascii.hexlify(h.digest()) za dobivanje heksadekadskog niza.