Perché 'mkpasswd -m sha-512' produce risultati diversi ogni volta che viene chiamato?


11

Sto usando questa funzione per creare una password nel file shadow

$ mkpasswd -m sha-512 password
$6$o50n4EfNOBzfs$K5l5AcOI5e0I9n2df0LmR11OLSPKSVM6AGBOnWVfDDfMubb46MrAj0zehdLNEoYzD2fj5q4XUdDwexj/dWLHy/
$ mkpasswd -m sha-512 password
$6$ADmDOhDpW$gsYQuiKPpV1ewaUpRq2VGAvrcocffLQ8XGF94e6LNLZfKIjy6Ku.cZoR/5exeCi1ESjPB9TRM6HxCiY5BCNCV0
$ mkpasswd -m sha-512 password
$6$Efj1agaI$HGkny3q1OTYT4KREh18gueHJae/3Bvil0iOEhfXj8bD.qy9Lg2UIQJMuBcq0XtG3xzueK.7cp0GfKr7tEo5YI/
$ mkpasswd -m sha-512 password
$6$zdVPlCPai4Y$x3CBvlP99xZXZcr4PTiE..YLpZx39h5OHDxqazd9wFLImPuwsXF0M6KmqLzlCCrnQhI2lmEPdCzfmHA/fDiOz.

Mi chiedo come funziona il valore di output come password



2
L'output del comando è in realtà sia un salt (casuale) che l'hash della password + salt. Poiché il sale è casuale, l'output sarà sempre diverso.

Risposte:


20

Se controlli la manpage con "man mkpasswd", vedrai che quel comando accetta anche un parametro facoltativo -S, --salt=STRING Se lo ometti, userà un valore salt casuale e quindi anche il valore della password crittografata sarà diverso.

Se fornisci il sale,

mkpasswd -m sha-512 password -s "11223344"
$6$11223344$YzaRt.fnidpXmKw.Dl20htfOrJ8X2Yx3V.h5zUlhlN2SdczempQmQcDcMYd6mHiXlaMqyGt200zDwuZiC8ZZw1

ottieni sempre lo stesso risultato.

A proposito, puoi vedere il valore salt all'inizio della stringa di output: è il valore tra $'s e 8-16 caratteri lunghi.

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.