Qual'è la differenza tra Sha1sum
, Sha256sum
e Md5sum
? e come controllare tutti questi per alcuni file ISO? e come creare md5sum.txt
file in Ubuntu?
sha512sum
!
Qual'è la differenza tra Sha1sum
, Sha256sum
e Md5sum
? e come controllare tutti questi per alcuni file ISO? e come creare md5sum.txt
file in Ubuntu?
sha512sum
!
Risposte:
Se guardi la pagina man di ognuna di queste, vedrai che dicono:
md5sum - compute and check MD5 message digest
sha1sum - compute and check SHA1 message digest
sha256sum - compute and check SHA256 message digest
Questo ti dice che tutti creano un digest di messaggio , che è una funzione a senso unico che prende come argomento un dato di dimensioni arbitrarie e restituisce un hash di dimensioni fisse. Un hash è considerato impossibile (entro i limiti della praticità) per invertire e trovare due diversi messaggi con lo stesso hash (chiamato collisione).
La differenza tra i tre è l'algoritmo utilizzato per generare questo hash.
MD5 è stato inventato nei primi anni '90 ed è ormai considerato difettoso e obsoleto.
SHA1 è stato sviluppato anche nei primi anni '90. È considerato più forte di MD5, ma non abbastanza forte. Il suo utilizzo è attualmente ritirato dalla firma digitale sui certificati digitali X.509.
SHA256 è la funzione hash attualmente consigliata.
A meno che tu non abbia una ragione per usare gli algoritmi più deboli, SHA256 è la strada da percorrere.
Per creare il file di testo, reindirizza semplicemente l'output al file. Ad esempio, se si dispone di un'immagine ISO di Ubuntu che si desidera hash:
md5sum Ubuntu.iso > md5sum.txt
Naturalmente, funziona anche con le altre varianti.
È quindi possibile (ad esempio) distribuire quel file su Internet e il destinatario può ricontrollare l'hash con:
md5sum Ubuntu.iso
Ciò stamperà l'hash MD5 che il destinatario può confrontare con il contenuto del md5sum.txt
file che sarà pubblicato. Se sono uguali, il file non è stato manomesso.
Certo, sarebbe meglio usare sha256sum
di md5sum
. Troverai spesso una selezione di questi hash pubblicati ( md5sum.txt
, sha1sum.txt
e / o sha256sum.txt
) con un ISO per consentire il fatto che alcuni sistemi potrebbero non avere tutte queste utilità.
MD5, SHA-1 e SHA-256 sono diverse funzioni hash (digest). Sono diversi sia per l'algoritmo che per le dimensioni dell'output.
Se controlli file di grandi dimensioni, puoi accelerare il processo evitando di dover leggere il file più volte. Un approccio generale è
mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'
In questo caso, tuttavia, è più semplice, poiché esiste un programma che calcola contemporaneamente più digest:
gpg --print-mds input
gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2
anf e poi confrontarlo digest.1
condigest.2