CakePHP usa lo stesso sale per tutti gli utenti?

0

La funzione in questione in CakePHP è DefaultPasswordHasher :: hash ($ password).

Ho seguito alcuni tutorial di CakePHP: link e link . Da quest'ultimo, vedo una grande stringa salt usata per l'hashing nella sezione Security.salt.

Questa stringa salina è utilizzata per tutti gli utenti quando si eseguono hashing delle password degli utenti? Ho provato a guardare attraverso il codice sorgente, ma non ho avuto molta fortuna. Forse mi manca qualcosa, ma sembra che usare lo stesso sale per tutti gli utenti possa sconfiggere lo scopo della salatura in primo luogo.

    
posta Andrew 16.05.2017 - 17:25
fonte

2 risposte

7

DefaultPasswordHasher non utilizza il valore salt memorizzato nella configurazione, che viene utilizzato solo dalla classe WeakPasswordHasher , o hashing manuale da uno sviluppatore.

La classe DefaultPasswordHasher è un wrapper del PHP in% di password_hash che genera un salt per ogni password e usa l'algoritmo di bcrypt al momento. Vedi link

    
risposta data 16.05.2017 - 18:14
fonte
0

Non sconfiggerebbe lo scopo del sale. Lo scopo di salare una password è assicurarsi che l'hash della password non sia uguale se solo l'algoritmo è uguale.

Ciò significa che se alcuni Hash password "12345" con Algorithm "A" e restituirà "ABCDEF", allora se qualche altra persona ha hash con "12345" con Algorithm "A" otterrà anche "ABCDEF".

Lo scopo di salare la password è che se alcuni eseguono l'hashing con molte password (creando un Rainbowtable) o se ottengono qualche tipo di esportazione del database con password non salate, non avrà lo stesso identico valore della password di quella salata.

Deve quindi provare ad hash la combinazione password + sale per ottenere lo stesso valore del suo valore calcolato in precedenza.

Ma accetto, questo non è il modo migliore per salare la password. Sembra più simile a un Pepper codificato a macchina di un Salt.

    
risposta data 16.05.2017 - 17:42
fonte

Leggi altre domande sui tag