Cómo generar un hash bcrypt de una contraseña
Introduce una contraseña no vacía y, si lo necesitas, un coste en rondas para generar un hash bcrypt. El coste predeterminado es 12 y los valores usados para una contraseña no vacía se mantienen entre 10 y 15.
Qué puedes hacer con el generador
Este generador crea hashes de contraseñas con bcrypt a partir de una contraseña y un valor de coste opcional. Puede servir para comprobar el formato de un hash, comparar resultados de una misma contraseña o preparar un valor para una aplicación que realice su propia gestión de credenciales. La contraseña no tiene que rellenarse: si se deja vacía, se utiliza una cadena vacía como entrada.
Pasos para generar el hash
-
Escribe una contraseña de prueba en el campo correspondiente. Para generar un hash útil, utiliza una contraseña no vacía. Si no introduces nada, el proceso termina correctamente, pero devuelve valores vacíos para el hash y la sal asociados a bcrypt.
-
Introduce el coste en rondas si quieres cambiar el valor predeterminado. Este campo es opcional y, cuando se omite, se usa 12. Para una contraseña no vacía, el valor introducido se convierte en un entero y queda limitado al intervalo de 10 a 15 antes de generar el hash.
-
Ejecuta la generación y revisa los campos de salida. Con una contraseña no vacía, bcrypt codifica la contraseña en UTF-8, crea una sal y produce un hash. No guardes una contraseña junto con un hash o una sal en el mismo lugar sin aplicar las medidas de gestión de credenciales que requiera tu aplicación.
-
Si vas a comparar resultados, vuelve a generar el hash usando la misma contraseña y el mismo coste. No esperes que el texto del hash coincida: cada generación puede crear una sal nueva. Para comprobar una contraseña, utiliza después una verificación bcrypt con la contraseña original y el hash generado.
Cómo interpretar el resultado
Un resultado correcto para una contraseña no vacía contiene un hash bcrypt y una sal generada. Dos ejecuciones con la misma contraseña y el mismo coste pueden devolver hashes distintos; esa diferencia no demuestra por sí sola que la entrada haya cambiado. La comprobación adecuada consiste en verificar el hash con bcrypt usando la contraseña original.
El valor de rondas influye en la generación dentro del intervalo admitido de 10 a 15. Si introduces un valor fuera de ese intervalo, la herramienta lo ajusta antes de generar el hash, por lo que conviene interpretar el resultado junto con el coste que pretendías utilizar. Si la conversión de rondas o la generación bcrypt produce un error de tipo o de valor, el proceso informa de un fallo en lugar de devolver un hash correcto.
Ejemplo práctico
Quieres comprobar cómo cambia el resultado cuando generas dos veces un hash bcrypt para la misma contraseña sin especificar las rondas.
Introduce la contraseña de prueba «Luna-27!» y deja el coste sin rellenar. Ejecuta la generación y compara después el resultado con una segunda ejecución usando la misma contraseña.
La salida debe presentar un hash bcrypt y una sal para la contraseña no vacía. Una segunda ejecución puede mostrar otro hash, aunque la verificación bcrypt con la contraseña original debe poder validarlo.
Limitaciones
- La herramienta declara que no utiliza acceso de red. Este dato no permite determinar dónde se ejecuta ni establece cómo se almacenan, registran o conservan las entradas.
Errores frecuentes
- Si aparecen el hash y la sal vacíos, la causa puede ser que el campo de contraseña se haya dejado vacío. Introduce una contraseña no vacía y vuelve a ejecutar la generación.
Preguntas frecuentes
¿Por qué obtengo un hash diferente con la misma contraseña?
Sí, pero con una sal nueva el hash puede cambiar aunque mantengas la misma contraseña y el mismo coste. Comprueba el resultado mediante una verificación bcrypt con la contraseña original.
¿Es obligatorio rellenar la contraseña?
Si no introduces una contraseña, el proceso se completa y devuelve valores vacíos para el hash y la sal asociados a bcrypt. Para obtener un hash, escribe una contraseña no vacía.
¿Qué valor de coste en rondas debo introducir?
El campo es opcional y su valor predeterminado es 12. Para una contraseña no vacía, la herramienta convierte el valor a entero y lo restringe al intervalo de 10 a 15 antes de generar el hash.