Hai disegnato due cose diverse qui:
- per i certificati SSL che utilizzano SHA1 per HMAC è ancora sicuro, non è necessario cambiarlo (vedere questo pubblicazione correlata )
- per usi regolari (ad esempio controllo dell'integrità) non esiste un migliore algoritmo meglio utilizzato in 160 bit. Potrebbe valere la pena notare che, a seconda dell'algoritmo, il troncamento di un hash di più bit potrebbe essere ancora un'opzione migliore ( guarda questo argomento )
This is not a problem is the hash is used only by machines, but for
e.g. verifying file integrity manually it is inconveniently long.
Questo non è un problema, nel 99,999% dei casi è possibile determinare la mancata corrispondenza con l'occhio. Altrimenti, puoi confrontare i checksum nel tuo terminale, che è facile come questo 8 liner che ti ho appena scritto in meno di 30 secondi (chiamalo sha1check.sh
)
#!/usr/bin/env sh
if [ 'sha1sum $1 | cut -d' ' -f1' = "$2" ];
then
echo 1
else
echo 0
fi
Utilizzo:
$ sha1check.sh file.zip ffc06e14fb40db2da3ce0117b4483a8f0ca86937
0
PS: la prima collisione sha1 di successo è stata pubblicata come una settimana fa e i suoi dettagli tecnici sono mantenuti privati. È altamente improbabile che altri utenti tranne Google lo usino.