hashlib — algoritmi di hashing

Questo modulo implementa algoritmi di hashing di dati binari. Ogni algoritmo è esposto come una classe le cui istanze accettano dati in modo incrementale tramite update() e producono un digest di dimensione fissa tramite digest(). La OpenMV Cam fornisce tre algoritmi:

  • SHA256 - L’algoritmo di hashing moderno di generazione attuale (della serie SHA-2). È adatto a scopi crittograficamente sicuri ed è sempre disponibile.

  • SHA1 - Un algoritmo di generazione precedente. Non consigliato per nuovi usi, ma SHA1 fa parte di numerosi standard Internet e applicazioni esistenti, quindi rimane disponibile.

  • MD5 - Un algoritmo legacy, non considerato crittograficamente sicuro. Fornito per l’interoperabilità con applicazioni legacy.

Classi

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

Crea un oggetto hasher SHA256 e, opzionalmente, vi alimenta data.

update(data: bytes) None

Alimenta altri dati binari nell’hash.

digest() bytes

Restituisce l’hash di tutti i dati passati fino a quel momento, come oggetto bytes. Dopo che questo metodo è stato chiamato, non è più possibile alimentare dati nell’hash.

Nota

hexdigest() non è implementato in MicroPython. Usa binascii.hexlify(h.digest()) per ottenere una stringa esadecimale.

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

Crea un oggetto hasher SHA1 e, opzionalmente, vi alimenta data.

update(data: bytes) None

Alimenta altri dati binari nell’hash.

digest() bytes

Restituisce l’hash di tutti i dati passati fino a quel momento, come oggetto bytes. Dopo che questo metodo è stato chiamato, non è più possibile alimentare dati nell’hash.

Nota

hexdigest() non è implementato in MicroPython. Usa binascii.hexlify(h.digest()) per ottenere una stringa esadecimale.

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

Crea un oggetto hasher MD5 e, opzionalmente, vi alimenta data.

update(data: bytes) None

Alimenta altri dati binari nell’hash.

digest() bytes

Restituisce l’hash di tutti i dati passati fino a quel momento, come oggetto bytes. Dopo che questo metodo è stato chiamato, non è più possibile alimentare dati nell’hash.

Nota

hexdigest() non è implementato in MicroPython. Usa binascii.hexlify(h.digest()) per ottenere una stringa esadecimale.