Hola, he estado buscando por Internet una forma de poder estar tranquilo al cifrar las contraseñas en la BD para que nadie las pueda descifrar.
En la mayoría de sitios recomiendan que en la BD haya un campo para el salt y otra para la contraseña que se la habrá aplicado un sha256 u otro.
Pero en otro lugar han afirmado que es muy inseguro y que lo mejor es usar bcrypt, en el que por lo que veo no hace falta que haya ningún campo salt en la bd y funciona de la siguiente manera:
Cómo podéis ver en la imagen se entiende bien, excepto que no logro entender a la hora de identificarte:
if (crypt('password_introducida',$passwordEnBD) == $passwordEnBD) CORRECTO
¿Cómo puede ser? En principio siempre que te registres ni que sea con la misma pass, cómo el salt cada vez es distinto, $passwordEnBD será diferente. ¿Pero claro, si no guardas el salt en la bd, cómo puedes identificarte? Lo he probado tal cómo la imagen y funciona perfectamente, pero no entiendo cómo lo identifica.
¿Alguien que lo sepa, me lo podría explicar? Gracias.
En la mayoría de sitios recomiendan que en la BD haya un campo para el salt y otra para la contraseña que se la habrá aplicado un sha256 u otro.
Pero en otro lugar han afirmado que es muy inseguro y que lo mejor es usar bcrypt, en el que por lo que veo no hace falta que haya ningún campo salt en la bd y funciona de la siguiente manera:
Cómo podéis ver en la imagen se entiende bien, excepto que no logro entender a la hora de identificarte:
if (crypt('password_introducida',$passwordEnBD) == $passwordEnBD) CORRECTO
¿Cómo puede ser? En principio siempre que te registres ni que sea con la misma pass, cómo el salt cada vez es distinto, $passwordEnBD será diferente. ¿Pero claro, si no guardas el salt en la bd, cómo puedes identificarte? Lo he probado tal cómo la imagen y funciona perfectamente, pero no entiendo cómo lo identifica.
¿Alguien que lo sepa, me lo podría explicar? Gracias.