Eres bueno con PBKDF2, no necesitas saltar a bcrypt.
Aunque, la recomendación de utilizar 1000 iteraciones se realizó en el año 2000, ahora usted querría mucho más.
Además, debe tener más cuidado al usar bcrypt:
También vale la pena señalar que, si bien es más fuerte que bcrypt PBKDF2 para la mayoría de los tipos de contraseñas, la que se retrasa la contraseña de frase larga; esto se debe a la incapacidad de bcrypt para usar más de los primeros 55 caracteres de una frase de contraseña, mientras que nuestros costos estimados y NIST's. las estimaciones de entropía de contraseña positiva sugieren que la limitación de 55 caracteres de bcrypt no es que pueda causar problemas en este momento; los implementadores de sistemas que se basan en bcrypt podrían evitar esta limitación (por ejemplo, al "prehibirse") una frase de contraseña para que coincida con el límite de 55 caracteres) o para dar pasos a para evitar que los usuarios introduzcan demasiada entropía de contraseña en los caracteres 56th y posteriores (por ejemplo, solicitando a los usuarios de un sitio web que escriban su contraseña en una entrada caja que solo tiene espacio para 55 caracteres).
From scrypt paper [PDF]
Dicho esto, también hay scrypt.
Cualquier comparación no estaría completo sin la tabla del papel scrypt mencionado anteriormente:
recuento de iteración para PBKDF2-HMAC-SHA256 utilizan existen 86.000 y 4.300.000.
"pidiendo a los usuarios de un sitio web que escriban su contraseña en un cuadro de entrada que solo tiene espacio para 55 caracteres". Lo siento, pero ¿cómo es aplicable esto al mundo real? Apenas puedo inventar contraseñas de 8 caracteres. – m33lky
Conozco a un chico que usa secuencias de grandes juegos de ajedrez como contraseñas. Él salda las secuencias con los nombres de los jugadores, las fechas, las ciudades jugadas, etc. Conozco a otra persona que usa versos de poemas épicos, con errores intencionales introducidos. Hay muchas formas de obtener contraseñas rápidas. – Cheeso
Debe tenerse en cuenta que hubo un error en el papel de scrypt, y el límite algorítmico real de bcrypt es de 72 caracteres. Entonces todavía hay un límite, pero tiene 128 bits más de entropía. Lo cual es extremadamente significativo. – ircmaxell