SHA-1 (Secure Hash Algorithm 1) è una funzione hash crittografica che accetta un input (come un file, una password o un messaggio) e produce un valore hash a 160 bit (20 byte), in genere visualizzato come una stringa esadecimale di 40 caratteri.
Importante: come MD5, SHA-1 non è una vera crittografia, ma una funzione hash unidirezionale, il che significa che non è possibile invertire facilmente l'hash per tornare all'input originale.
Integrità dei dati: verifica che i file o i messaggi non siano stati alterati da Confrontando gli hash SHA-1 prima e dopo la trasmissione.
Firme digitali: Supporta vecchi sistemi e certificati di firma digitale che utilizzavano SHA-1.
Fingerprinting: Crea un'impronta digitale univoca per i dati, garantendo un confronto rapido senza dover utilizzare l'intero set di dati.
Velocità: Esegue l'hash di grandi quantità di dati in tempi relativamente rapidi (sebbene ora sia considerato non sicuro per usi crittografici).
Utilizza librerie crittografiche integrate nella maggior parte dei linguaggi di programmazione (ad esempio, hashlib.sha1() in Python, MessageDigest con SHA-1 in Java o System.Security.Cryptography.SHA1 in C#).
Inserisci i dati (testo, contenuto del file) nella funzione SHA-1.
Ottieni il valore hash risultante e utilizzalo per confronti, checksum o indicizzazione.
Quando si lavora con sistemi legacy o API precedenti che richiedono ancora SHA-1.
Quando si creano checksum per dati non critici per la sicurezza in cui sono accettabili collisioni minori.
Quando si verificano vecchi dati digitali firme originariamente create con SHA-1.
Quando la compatibilità è più importante della sicurezza rigorosa (ma solo se assolutamente necessario).