In questo articolo vedremo come creare l'hash di una stringa usando le librerie core di Python.
Possiamo utilizzare la libreria hashlib
specificando il tipo di algoritmo e ottenendo la versione esadecimale dell'hash dopo aver codificato la stringa in byte.
import hashlib
def encode_str_as_hash(str_to_encode='', hash_alg='sha256'):
if len(str_to_encode) == 0 or str_to_encode.isspace():
return str_to_encode
if hash_alg not in hashlib.algorithms_available:
return str_to_encode
try:
h = hashlib.new(hash_alg)
h.update(str_to_encode.encode())
return h.hexdigest()
except TypeError:
return str_to_encode
Se la stringa è valida, ossia non è vuota e non è composta solo da spazi e se l'algoritmo scelto è supportato dalla libreria hashlib
, viene generato l'hash della stringa e restituito in formato esadecimale.
In caso di eccezione o di valori non validi, viene restituita la stringa originaria.
Esempio d'uso:
print(encode_str_as_hash('Test'))
Output:
532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25