Sarebbe considerata una buona pratica rendere il sale per una password l'hash del nome utente dell'utente? [duplicare]

0

Ho sentito che è una buona pratica che ogni utente abbia un sale unico, quando sto tagliando la password di un utente con un salt. La mia domanda è, posso fare il mio sale un hash del nome utente dell'utente? Es.

$username_hash = hash($username);
$pwd_hash = hash($username_hash + $password);

Qualcosa del genere dovrebbe essere considerato accettabile? E ancora più importante, sicuro?

Modifica:

So che potrebbe fare

    $pwd_hash = hash($username + $password);

Ma se lo faccio, non protegge dalle tabelle arcobaleno, anche se l'hash del nome utente sarebbe.

    
posta Alex Jone 29.10.2017 - 15:22
fonte

1 risposta

3

No.

Ricorda che le persone tendono a riutilizzare le password dal servizio al servizio. Se due sistemi usano il tuo schema e qualcuno usa lo stesso nome utente e la stessa password su entrambi i sistemi, allora finiranno con lo stesso hash in entrambi i casi.

I sali non sono segreti, e tecnicamente il requisito di casualità su di essi non è strong come quello richiesto per le chiavi di crittografia, è meglio generarli allo stesso modo in cui si genererebbero le chiavi solo per evitare questo e altri tipi di errori che le persone fanno durante la creazione di sali.

    
risposta data 30.10.2017 - 03:44
fonte

Leggi altre domande sui tag