2012-01-27 29 views
14

He estado leyendo acerca de bcrypt (perspectiva de la aplicación). Pensando en usarlo para almacenar contraseñas en mi sitio.¿Se utiliza Bcrypt para hash o cifrado? Un poco de confusión

Fuera de algunas cosas que he leído sugiere que o bien formas:

  • por ejemplo, 1: Bcrypt es una utilidad de cifrado de archivos multiplataforma desde bcrypt
  • , p. 2: bcrypt es un algoritmo de hashing de contraseñas adaptable que utiliza el programa de claves Blowfish, no un algoritmo de cifrado simétrico. de How To Safely Store A Password
  • bcrypt es una función adaptativa criptográfica hash para contraseñas diseñados por Niels Provos y David Mazières, basado en el cifrado Blowfish: desde bcrypt wiki

¿Qué es exactamente Bcrypt?

+0

Stack Overflow es un sitio que sirve para ver programación y desarrollo. Esta pregunta parece estar fuera de tema porque no se trata de programación o desarrollo. Consulte [Qué temas puedo preguntar aquí] (http://stackoverflow.com/help/on-topic) en el Centro de ayuda. Tal vez [Cryptography Stack Exchange] (http://crypto.stackexchange.com/) o [Information Security Stack Exchange] (http://security.stackexchange.com/) sería un mejor lugar para preguntar. – jww

+1

@jww después de 5 años esta pregunta no se marcó como fuera de tema. – NaveenDA

Respuesta

16

Es a la vez :)

La mayoría de las veces cuando la gente menciona Bcrypt, que están hablando de la adaptive hash algorithm, pero también es el nombre de un unrelated file encryption utility.

Ambos se basan en el cifrado Blowfish.

+0

Entonces, ¿quiere decir que voy a utilizar el 'algoritmo hash adaptativo' cuando uso bcrypt para almacenar la contraseña? – ThinkingMonkey

+0

@ThinkingMonkey. Sí, siempre que elija el correcto. Agregué (sus) enlaces a mi respuesta para, con suerte, aclarar la diferencia. – PaulG

+0

Agradable. De hecho, tengo los mismos enlaces mencionados en la pregunta. :) – ThinkingMonkey

7

software de cifrado Bcrypt utiliza el algoritmo Blowfish diseñado por Bruce Schneier en 1993. [1]

La función hash bcrypt es sólo eso, una función de hash . No realiza cifrado, hash. Se basa en el cifrado Blowfish, y se considera algo bueno porque puede make it slower over time.

De Wikipedia:

Esto no es criptográficamente significativamente más fuerte que el horario de clave Blowfish estándar, pero el número de rondas de cambio de claves es configurable; por lo tanto, el proceso de hashing puede hacerse arbitrariamente lento, lo que ayuda a detener los ataques de fuerza bruta sobre el hash o la sal.

En lo que respecta al almacenamiento de contraseñas en su sitio, debe cifrar las contraseñas antes de hash.

Sólo después de que los encriptar con algún algoritmo de cifrado (por ejemplo Blowfish, Rijndael/AES) se debe utilizar bcrypt para discutir las contraseñas cifradas, y almacenar la contraseña hashes .

Para obtener más información sobre cómo implementar la seguridad de contraseñas, consulte la respuesta superior a this question.

+0

Gracias por la información. – ThinkingMonkey

+2

Su nombre es 'Schneier', no 'Schneider'. –

+8

Para nitpick :) no es necesario encriptar antes de hash. – PaulG

3

bcrypt es una función de derivación de claves para las contraseñas

También diferencia entre hashing (utilizado por bcrypt) y el cifrado en palabras sencillas será -

1) datos cifrados se pueden descifrar a través de la clave privada. 2) Hashing es una manera que es si hash el texto plano es irreversible, por lo tanto más seguro. La única manera de garantizar es volver a generar el texto sin formato y compararlo con datos hash previamente para la igualdad.

Cuestiones relacionadas