Lo scopo di Salt è garantire che due utenti separati che utilizzano la stessa stringa di password non generino lo stesso hash della password. Se si sta deterministicamente definendo il sale in base alla password e due utenti hanno la stessa password, quasi sicuramente si selezionerà lo stesso sale per entrambi e avrà fallito lo scopo originario di usare un salt.
(Si può immaginare uno schema mediante il quale si determina il sale calcolando un indice nella password in base al nome utente, il che significherebbe che due diversi utenti con le stesse password finirebbero con diversi sali derivati dalle loro password. continua a leggere.)
Inoltre, il mio istinto mi dice che quando si estraggono le informazioni dalla password per utilizzarle nel modo più pubblico di sale, si corre il rischio di divulgare informazioni sulla password stessa. Qualcuno dei più criptati su questo sito può probabilmente dare un capitolo e un verso se questo è un intuito corretto.
La linea di fondo è che la segretezza non è richiesta per la protezione fornita dal sale. Non è inteso a integrare la scarsa qualità della password, solo per fare in modo che due password uguali producano diversi hash, rendendo così più costosi gli attacchi di forza bruta. Dovresti considerare attentamente se ottieni veramente qualche miglioramento della sicurezza rendendolo più complesso - e penso che la risposta sia no.