Como la mayoría de los usuarios, simplemente intento encontrar una forma segura de almacenar contraseñas. Lo que no he encontrado aquí (o tal vez es mi falta de comprensión) es cómo recuperar un hash salado en mi base de datos y separar la sal de la contraseña hash, especialmente con sales únicas para cada contraseña mientras se mantiene la contraseña sal + en una sola columnaSalting my hashes con PHP y MySQL
estoy encontrando todas estas maneras frescas para cifrar contraseñas (SHA-256, pero ¿MySQL sólo el apoyo de SHA/1 y MD5?) Y otras cosas del manual de PHP, pero no sabe cómo almacenar y recuperar las contraseñas.
Por lo tanto, ahora esto es todo lo entiendo:
SHA('$salt'.'$password') // My query sends the password and salt
// (Should the $salt be a hash itself?)
Después de eso estoy perdido con sales.
Recuperar la contraseña sin sal es fácil, pero la sal me confunde. ¿De dónde saco el valor de $ salt nuevamente, especialmente si es único y seguro? ¿Los escondo en otra base de datos? Constante (parece inseguro)?
EDIT: ¿Se supone que la variable clave en HMAC es sal o es otra cosa?
Fwiw, MySQL 5.5 integrado con soporte SSL incluye un 'SHA2 () 'función que proporciona SHA224, SHA256, SHA384 y algoritmos de hash SHA512. Si está utilizando una versión anterior de MySQL, use la función 'hash()' en PHP. –
¡Gracias de nuevo, Bill, esta es la segunda vez que ayudas! Estoy usando 5.1 porque vino con WAMP (wampserver.com). Tuve que desinstalar mi viejo MySQL para instalar este. Desafortunadamente, no estoy seguro de cómo actualizarlo ... Intentaré usar PHP para mi cifrado. – Tarik