Perché le password md5 hanno un hash diverso?


22

Mi chiedo da un po ', perché l'esecuzione di "echo' helloworld '| openssl passwd -1 -stdin" produce risultati diversi ogni volta? Se inserisco uno degli hash nel mio / etc / shadow posso usarli come mio password e login al mio sistema, come funziona?

computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$xlm86SKN$vzF1zs3vfjC9zRVI15zFl1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$/0.20NIp$pd4X9xTZ6sF8ExEGqAXb9/
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$sZ65uxPA$pENwlL.5a.RNVZITN/zNJ1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$zBFQ0d3Z$SibkYmuJvbmm8O8cNeGMx1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$PfDyDWER$tWaoTYym8zy38P2ElwoBe/

Penserei che, poiché uso questo hash per descrivere al sistema quale dovrebbe essere la mia password, dovrei ottenere gli stessi risultati ogni volta. Perché io no?


3
Se fossero gli stessi ogni volta, un utente malintenzionato poteva semplicemente eseguire l'hashing di miliardi di password comuni e controllarle facilmente.
David Schwartz,

Risposte:


37

Hanno tutti un sale diverso . Ogni volta viene scelto un sale unico, poiché i sali non devono mai essere riutilizzati. L'uso di un salt unico per ogni password li rende resistenti agli attacchi da tavolo arcobaleno .



6
Potrebbe essere una buona idea ricordare che l'output include il sale dopo $ 1 $ (i simboli del dollaro sono separatori).
colpì il

6
Quindi nell'hash di '$ 1 $ xlm86SKN $ vzF1zs3vfjC9zRVI15zFl1' xlm86SKN è il sale e vzF1zs3vfjC9zRVI15zFl1 è l'hash dell'helloworld salato?
Peter,

2
@Peter: esattamente.
Joachim Sauer,

3

Infatti, se si fornisce il sale alla riga di comando, si ottiene sempre lo stesso risultato.

$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.