2012-06-13 31 views
11

Por lo que entiendo de salazón para hacer una contraseña encriptada más segura, generaría un número aleatorio (el salt) y lo almacenaría junto con la contraseña hash, en el registro del usuario (para ejemplo.) Concatenaría la sal con la contraseña de texto claro y luego la encriptaría (hash). El hash resultante sería mucho más difícil de descifrar. Este proceso se repetirá para verificar la contraseña.¿Cómo funciona la sal en Rails 'has_secure_password

En cuanto a has_secure_password y bcrypt_ruby (revelación: No soy un experto en seguridad) No veo cómo se hace eso, ya que lo único almacenado en el registro de usuario es la contraseña hash. ¿Dónde está la sal?

+1

Ver [esta pregunta] (http://stackoverflow.com/questions/6832445/how-can-bcrypt-have-built-in-salts) Básicamente, la sal se almacena en la misma cadena que la contraseña cifrada (eso podría simplificar demasiado, y las personas con chuletas de seguridad son libres de oponerse, pero el punto es que bcrypt no es intrínsecamente inseguro) – Flambino

+0

El enlace que proporcionó es perfecto, ¡gracias! – pitosalas

+1

posible duplicado de [Does has \ _secure \ _password usa alguna forma de salazón]] (http://stackoverflow.com/questions/10139954/does-has-secure-password-use-any-form-of-salting) – mysmallidea

Respuesta

7

La contraseña hash y salt se guardan en una columna de cadena llamada password_digest en la base de datos. Vea esto question.

Cuestiones relacionadas