bcrypt es un algoritmo de hash diseñado específicamente para almacenar contraseñas. Incorpora un salt y controla el coste de cálculo mediante el factor Cost. Cada incremento de 1 en Cost aproximadamente duplica el tiempo de un cálculo, permitiendo aumentar el coste de los ataques de fuerza bruta a medida que evoluciona el hardware. Esta herramienta reúne generación, verificación y análisis en una sola página mediante pestañas.
Introduce una contraseña y selecciona Cost para generar el hash. Cost ofrece opciones de 4 a 15 agrupadas como pruebas, coste bajo, intervalo recomendado y coste alto, con 12 como valor predeterminado. El campo de contraseña permite mostrar u ocultar el contenido y también puede generar una contraseña aleatoria mediante el generador seguro del navegador, destinada únicamente a probar parámetros. El resultado es una cadena bcrypt estándar que se puede copiar directamente.
Introduce el hash bcrypt existente de la base de datos junto con la contraseña que deseas verificar. La herramienta lee la versión y el parámetro Cost registrados en el hash, vuelve a calcularlo y compara los resultados, indicando si la contraseña coincide o no sin generar un hash nuevo. Admite las versiones 2a, 2b y 2y; 2y es común en el ecosistema PHP y 2b es la implementación predominante actualmente.
El modo de análisis puede extraer de un hash bcrypt el identificador de versión, el valor Cost, un salt de 22 caracteres y el cuerpo del hash de 31 caracteres, lo que permite comprobar la intensidad de los parámetros utilizados en datos históricos. Cuando el formato es incorrecto, se indica claramente la causa: el prefijo no es 2a, 2b o 2y, el cuerpo tiene menos de 53 caracteres o Cost está fuera del rango válido de 4 a 31.
La herramienta incluye una prueba de rendimiento que realiza varios cálculos consecutivos con el Cost actual y muestra el tiempo medio, el más rápido y el más lento. También ofrece recomendaciones para aumentar o reducir el parámetro según un intervalo habitual de ajuste de aproximadamente 100 a 250 milisegundos por cálculo. Los datos solo representan el dispositivo y navegador actuales; el tiempo real del servidor debe medirse en el entorno de destino.
Todos los cálculos se realizan localmente mediante el motor WebAssembly del navegador. Las contraseñas y los hashes no se suben al servidor ni se guardan. Como se trata de una herramienta relacionada con contraseñas, deliberadamente no ofrece ningún cálculo alternativo en el servidor; incluso si el motor local no está disponible, solo se muestra un error y la contraseña nunca sale del navegador.
Comentarios 0