Non si deve eseguire l'hash del sale, poiché gli hash sono a senso unico. È necessario il sale in modo da poterlo aggiungere alla password prima dell'ashing. Potresti crittografarlo, ma non è necessario.
La cosa fondamentale dei sali è che ogni password deve avere il proprio sale. Idealmente, ogni sale dovrebbe essere unico, ma anche casuale è buono. Il sale dovrebbe quindi essere abbastanza lungo da consentirgli di essere unico per ogni password.
Se tutti i sali sono uguali, è ovvio per il cracker (chi può vedere i propri valori hash), quali account hanno la stessa password. I valori dell'hash saranno uguali. Ciò significa che se creano una password, ottengono più di un account senza lavoro aggiuntivo. Il cracker potrebbe persino bersagliare quegli account.
Si dovrebbe presumere che il cracker acquisirà sia il valore di sale che di hash, quindi l'algoritmo di hash deve essere sicuro.
L'assenza di sale impedisce l'utilizzo di tabelle arcobaleno pre-calcolate per decifrare il valore dell'hash e l'aggiunta di sale per ogni account elimina il desiderio del cracker di precomporre le proprie tabelle arcobaleno utilizzando il sale.
fonte
2010-10-22 21:12:30
Mi raccomando ancora fortemente contro l'utilizzo di un sale statico. Probabilmente sconfigge lo scopo di avere un sale, anche se si memorizza solo una password alla volta. – Slartibartfast
Sono d'accordo, probabilmente dovresti usare un sale diverso per ogni password, devi solo usare lo stesso sale ogni volta per una determinata password dell'utente. Ma il punto qui era che un sale è solo qualcosa in più aggiunto. Se si frusta il sale prima di usarlo, questo non lo cambia, lo rende semplicemente un qualcosa in più. –
È semantica, ma non è necessario aggiungere un po 'di sale. Un sale deve essere recuperabile in chiaro per poter essere utilizzato. Poiché un hash è a senso unico, non devi eliminare il sale. Se vuoi usare un algoritmo hash per generare il tuo sale, va bene, ma il valore hash risultante diventa il nuovo salt e devi essere ancora in grado di recuperarlo in testo non crittografato. Se hai veramente cancellato il tuo sale, hai perso il tuo account. –