Python: creare l'hash di una stringa
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