php - sesiones - ¿Dónde se almacenan las sales de contraseña de laravel?
modificar login laravel (1)
Laravel usa bcrypt
para contraseñas hash.
De acuerdo con este artículo, en algún punto del proceso, la función Hash::make
crea y usa una cadena aleatoria de 22 extensiones como sal para generar la contraseña.
Para una única contraseña distinta, Hash::make
devuelve hashes únicos, lo que sugiere que sí utiliza algún tipo de salazón en algún lugar del proceso.
Pero estas sales no están almacenadas en la tabla de usuarios, donde las esperaría. ¿Cómo sabe Laravel el hash apropiado para verificar la contraseña?
El artículo que vinculó parece contener la respuesta. https://mnshankar.wordpress.com/2014/03/29/laravel-hash-make-explained/
La astucia de esto es que el algoritmo, la sal y el costo están integrados en el hash y, por lo tanto, se pueden analizar fácilmente en componentes individuales para su reconstrucción / verificación (consulte las secciones relevantes del código fuente de php crypt en https://github.com /php/php-src/blob/master/ext/standard/crypt.c#L258 ). Debido a esto, no necesita almacenar el sal / costo por separado en una tabla de base de datos.