Verificador de Hash BCrypt | Comprueba si la Contraseña Coincide Gratis

Verifica gratis y en segundos si una contraseña coincide con un hash BCrypt. Funciona igual que password_verify() de PHP, ideal para depurar problemas de inicio de sesión. Compatible con los formatos $2a$ y $2b$.

Hash
Texto

Coincide

No coincide

¿Qué es la verificación BCrypt?

Esta herramienta comprueba si una contraseña en texto plano que introduzca y un hash BCrypt existente se generaron a partir de la misma cadena original. Funciona con el mismo principio que la función password_verify() de PHP, así que sirve para confirmar una implementación de inicio de sesión y depurarla.

Un hash BCrypt lleva su sal dentro, y por eso generar uno a partir de la misma contraseña produce cada vez una cadena distinta. Una simple comparación de cadenas no puede, pues, establecer la coincidencia: hay que extraer la sal con el algoritmo específico antes de comparar, y de ese paso se encarga esta herramienta por usted.

Cómo usar la verificación BCrypt

  1. Introduzca la cadena Escriba en el campo la contraseña en texto plano que quiera verificar.
  2. Introduzca el hash Pegue un hash BCrypt que empiece por $2a$ o $2b$.
  3. Pulse el botón de verificar El resultado —coincide o no coincide— aparece al instante.

Consejos para aprovecharla mejor

  • BCrypt incorpora el salt en el hash, por lo que aunque el hash difiera cada vez, se considerará coincidencia si fue generado a partir de la misma entrada original.
  • Esta herramienta verifica usando el mismo mecanismo que password_verify($password, $hash) de PHP.
  • Al comparar un hash obtenido de la base de datos con una contraseña introducida, usa una función de verificación dedicada en lugar de una comparación de cadenas simple (==) para evitar ataques de temporización.
  • Los hashes que comienzan con $2a$ también pueden verificarse como BCrypt.

Cuándo resulta útil la verificación BCrypt

Depurar un flujo de inicio de sesión

Compruebe directamente si un hash guardado en la base de datos coincide con la contraseña que espera, sin pasar por el código de su aplicación.

Confirmar el comportamiento tras un restablecimiento

Pruebe si un hash generado a partir de una contraseña nueva coincide con el texto plano previsto.

Verificar hashes durante una migración

Confirme de antemano que los hashes BCrypt traídos de otro sistema seguirán funcionando.

Glosario de BCrypt

Sal
Una cadena aleatoria que se añade al generar el hash. Es lo que hace que una misma contraseña produzca cada vez un hash distinto.
password_verify()
La función estándar de PHP para comparar con seguridad una contraseña en texto plano con un hash. Extrae la sal automáticamente, de forma interna.
Ataque de temporización
Un ataque que deduce información secreta a partir de diferencias mínimas en el tiempo de procesamiento. Usar una función específica que compara en tiempo constante lo impide.
$2a$ / $2b$
Los prefijos que indican la versión de un hash BCrypt. $2b$ es la versión que corrigió un fallo de una implementación anterior y es la recomendada hoy.

Preguntas frecuentes

BCrypt incorpora un salt aleatorio dentro del propio hash. Durante la verificación, el salt se extrae del hash y la entrada se vuelve a hashear con ese mismo salt para comparar, por lo que hashes de aspecto diferente pueden seguir coincidiendo correctamente.

Ambos son compatibles y esta herramienta puede verificar cualquiera de los dos. $2b$ es una versión con corrección de errores de la implementación anterior, y actualmente se recomienda su uso.

No. BCrypt es una función hash de sentido único, y es computacionalmente inviable revertir un hash a la contraseña original. Esta herramienta solo verifica si una entrada dada coincide con un hash — no puede recuperar el valor original.
Tool-kun

A propósito — Detrás de la autenticación: qué son esos pocos cientos de milisegundos al iniciar sesión

Cuando pulsas el botón de inicio de sesión en un servicio web, parte de esos pocos cientos de milisegundos antes de recibir el resultado es el tiempo que BCrypt dedica a calcular el hash de la contraseña. Ese retraso es intencional — hecho por seguridad.

Un ataque de temporización (Timing Attack) es un tipo de ataque de canal lateral donde un atacante deduce información secreta midiendo sutiles diferencias en el tiempo de procesamiento. Cuando una contraseña se verifica con una comparación de cadenas simple (==), el tiempo de comparación varía ligeramente según dónde dejan de coincidir los caracteres. La función de verificación de BCrypt está diseñada para ejecutarse en tiempo constante, protegiéndola contra este ataque.

En aplicaciones web reales, se recomienda devolver una respuesta en el mismo tiempo independientemente de si el usuario existe o no, como si el usuario existiera pero la contraseña fuera incorrecta. Si un atacante puede distinguir "el usuario no existe" de "contraseña incorrecta", le da una pista para identificar nombres de usuario válidos.