# Introduzione
# Cosa vuol dire SHA-256?
Con il termine SHA (acronimo dell'inglese Secure Hash Algorithm) si indica una famiglia di cinque diverse funzioni crittografiche di hash sviluppate a partire dal 1993 dalla National Security Agency (NSA) e pubblicate dal NIST (opens new window) come standard federale dal governo degli USA.
Come ogni algoritmo di hash, l'SHA produce un message digest, o "impronta del messaggio", di lunghezza fissa partendo da un messaggio di lunghezza variabile.
Messaggio Variabile: abc
Hash Finale (SHA-256): ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
# In base a cosa un algoritmo é sicuro?
La sicurezza di un algoritmo di hash risiede nel fatto che la funzione non sia invertibile (non sia cioè possibile risalire al messaggio originale conoscendo solo questo dato)
Hash Finale (SHA-256): ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
Messaggio Variabile: ???????????????
# Come funziona SHA-256?
La Specifica NIST (opens new window) contiene una spiegazione precisa di SHA-256. Quello che segue è essenzialmente un riassunto visualizzato di quel documento.