Type to search…

Hash

This page hasn't been translated yet — shown in its original language:Català

Introducció

Farem servir el mòdul integrat hashlib per utilitzar diferents algorismes de hash a Python.

Comencem:

uv init hash

Ús

Hi ha un mètode constructor amb nom per a cada tipus de hash.

Tots retornen un objecte hash amb la mateixa interfície senzilla.

Per exemple, utilitza sha256() per crear un objecte de hash SHA-256. Ara pots alimentar aquest objecte amb valors de tipus bytes (normalment bytes) fent servir el mètode update.

En qualsevol moment li pots demanar el resum (digest) de la concatenació de les dades que li hagis passat fins ara amb els mètodes digest() o hexdigest().

python
import hashlib

m = hashlib.sha256()
m.update(b"El ")
m.update(b"Gattopardo")

print(m.digest())
print(m.hexdigest())

Per permetre el multithreading, el GIL de Python s’allibera mentre es calcula un hash al qual se li passen més de 2047 bytes de dades d’una sola vegada en el constructor o en el mètode .update.

El resultat és:

b'\x13\xdc\x9c3\xedc\xbe\x86\xd3\x9f\x99\xd8\xac\x1d\xb9=\xf6"\x13\x80\xbf\\K\x923\x8a\x8ee\xb6\x86BL'
13dc9c33ed63be86d39f99d8ac1db93df6221380bf5c4b92338a8e65b686424c

És el mateix resultat que tenim amb OpenSSL:

shell
echo -n "El Gattopardo" | openssl dgst -sha256
SHA2-256(stdin)= 13dc9c33ed63be86d39f99d8ac1db93df6221380bf5c4b92338a8e65b686424c

You're reading a preview.

Sign in with Google to read the full page. A Google account includes 5 free pages in total; students and teachers read their course pages without limit.

Sign in