Calcolatore di hash SHA-1

Genera il digest SHA-1 (Secure Hash Algorithm 1 definito da FIPS PUB 180-2) a 160 bit / 20 byte di una stringa di testo codificato in esadecimale. SHA-1 non dovrebbe più essere utilizzato come funzione hash sicura, utilizza invece gli algoritmi della famiglia SHA-2 o SHA-3.

Hash SHA-1:

Strumenti correlati

Maggiori informazioni sull'hash SHA-1

SHA-1 è una funzione hash crittografica, il che significa che prende un input (solitamente un messaggio o un file) e produce un output di dimensione fissa, chiamato valore hash o digest, che è unico per i dati di input.

SHA-1 funziona suddividendo i dati di input in blocchi di 512 bit, e poi elabora ogni blocco attraverso una serie di operazioni matematiche. Il risultato di questo calcolo è un valore hash di 160 bit.

L'idea chiave dietro SHA-1 è rendere difficile trovare due input diversi che producano lo stesso valore hash. Questa proprietà è nota come resistenza alle collisioni. È ottenuta attraverso l'uso di diverse tecniche, tra cui:

  1. Padding del messaggio: I dati di input vengono riempiti con bit aggiuntivi in modo che la loro lunghezza sia un multiplo di 512 bit. Questo garantisce che l'ultimo blocco sia sempre elaborato nello stesso modo, indipendentemente dalla lunghezza dell'input.

  2. Funzione di compressione: SHA-1 utilizza una funzione di compressione complessa che combina il blocco di input con il valore hash precedente per produrre un nuovo valore hash. La funzione di compressione è progettata per essere unidirezionale, il che significa che è facile calcolare l'output dato l'input, ma molto difficile trovare l'input dato l'output.

  3. Pianificazione del messaggio: SHA-1 utilizza una pianificazione del messaggio per garantire che ogni blocco di dati di input sia elaborato in modo unico. La pianificazione del messaggio si basa su un insieme di costanti e funzioni che vengono ripetute durante tutto il calcolo.

Il valore hash risultante può essere utilizzato per verificare l'integrità dei dati di input. Se anche un singolo bit dei dati di input viene modificato, il valore hash risultante sarà completamente diverso. Pertanto, il valore hash può essere considerato un'impronta digitale dei dati di input, ed è comunemente utilizzato per verificare l'autenticità di firme digitali, password e altri dati sensibili.