Cookies Este sitio guarda solo lo imprescindible para funcionar. Hoy no usa analítica ni publicidad, y nada de lo que hay aquí te sigue a otras webs. Leer la política de privacidad

Elegir qué permitir
+92 312 8299940Presupuesto gratis
Herramienta gratis, funciona en tu navegador

Generador bcrypt
Crea y comprueba hashes de contraseñas con seguridad

Crea el hash de cualquier contraseña con este generador bcrypt, al coste que elijas, y luego compruébala con cualquier hash bcrypt, sin salir de tu navegador.

  • GratisPrecio
  • De 4 a 16Coste
  • NingunoRegistro
  • En tu navegadorFunciona

Generador bcrypt

Crea el hash bcrypt de una contraseña o compruébala con un hash

Sacar el hash de una clave
Comprobar una contraseña
Coste
10
Rondas
1,024
Tiempo aquí
—

Listo. Escribe una contraseña y pulsa Generar hash, o comprueba una en la otra casilla.

Tu navegador hace todo el trabajo aquí, en esta pestaña. No subimos nada, no guardamos nada y no registramos nada.
Lo básico

Qué hace este generador bcrypt

Este generador bcrypt convierte una contraseña en un hash bcrypt, el formato que usan casi todas las webs para guardar contraseñas. Primero elige un coste, luego escribe la contraseña y el hash aparece en un momento, listo para pegar en una base de datos o en un archivo de configuración.

Además, funciona como verificador bcrypt. Pega un hash de PHP, Node, Python, Laravel o Django, escribe una contraseña y sabrás al instante si coinciden. Debajo, una tabla explica cada parte del hash.

Tu propio navegador hace todo el cálculo. Por eso la contraseña nunca viaja a nuestro servidor, algo que en esta herramienta importa más que en casi ninguna otra.

Cómo funciona bcrypt

Bcrypt se diseñó en 1999 para ser lento a propósito. Primero añade una sal aleatoria, así que dos personas con la misma contraseña obtienen hashes distintos. Después repite muchas veces una costosa preparación de clave, y el coste decide cuántas.

Diagrama de un hash bcrypt dividido en sus cuatro partes: el prefijo $2b$, el coste 10, la sal de 22 caracteres y el hash de 31 caracteres
Un hash bcrypt lleva su propia versión, coste y sal.

El resultado es una cadena de 60 caracteres que contiene todo lo necesario para comprobar la contraseña después: la versión, el coste, la sal y el propio hash. Por lo tanto, tu base de datos solo necesita una columna.

De dónde viene bcrypt

Niels Provos y David Mazières presentaron bcrypt en 1999, y OpenBSD lo adoptó para sus propias contraseñas. Su idea era sencilla: cuando los ordenadores sean más rápidos, sube el coste, así el hash sigue el ritmo del hardware. De hecho, más de veinte años después, esa idea sigue vigente.

Sacar el hash de una clave

Escribe la contraseña en la primera casilla y pulsa Generar hash. Una barra muestra el avance, porque los costes altos llevan tiempo. Cuando termina, ves el hash, el tiempo que tardó en tu navegador y el desglose de sus partes.

Generador bcrypt creando el hash de la contraseña correct horse battery staple con coste 10, con el hash $2b$ debajo y el tiempo que tardó
El hash, el tiempo que tardó y un botón para copiar.

Cada pulsación crea una sal aleatoria nueva. Como resultado, la misma contraseña da dos hashes distintos, y aun así ambos son válidos. Es normal, y de hecho es lo que protege a tus usuarios.

Comprueba una contraseña con un hash

Para probar un inicio de sesión, pega el hash guardado y escribe la contraseña que quieres probar. El verificador lee el coste y la sal del hash, repite el mismo trabajo y compara los resultados. Luego, un mensaje verde o rojo te dice si coinciden.

Verificador bcrypt que confirma que una contraseña coincide con un hash $2y$, con un mensaje verde
Coincide o no coincide, con el motivo cuando falla.

Esto ayuda cuando falla un inicio de sesión y necesitas saber por qué. Por ejemplo, puedes confirmar que un restablecimiento funcionó o que un hash importado de otro sistema sigue aceptando la contraseña correcta.

Cómo elegir el coste de bcrypt

El coste es una potencia de dos. El coste 10 son 1024 rondas y el 11 son 2048, así que cada paso duplica el tiempo. La meta es un hash que tarde un cuarto de segundo en tu servidor, algo aceptable para un inicio de sesión pero doloroso para un atacante que prueba miles de millones.

Tabla que explica cada parte de un hash bcrypt: el prefijo del algoritmo, el coste con sus rondas, la sal y el hash
Cada hash se desmonta y se explica.

Hoy casi todos los frameworks usan 10 o 12, y PHP 8.4 subió su valor por defecto a 12. El tiempo que ves aquí viene de tu navegador, así que tómalo como guía. Tu servidor puede ser más rápido o más lento, por eso mídelo allí antes de decidir.

El tope de los 72 bytes

Bcrypt solo lee los primeros 72 bytes de una contraseña. Para contraseñas normales, eso no importa. Sin embargo, las frases largas en idiomas como el árabe o el chino usan dos o tres bytes por letra, así que llegan antes al límite. La tabla de comprobaciones te avisa cuando lo superas.

Qué significan $2a$, $2b$ y $2y$

El prefijo indica la versión de bcrypt. $2b$ es la actual de OpenBSD, y $2y$ es lo que escribe PHP para el mismo algoritmo. En cambio, $2a$ es el nombre antiguo, que sigue valiendo para cualquier contraseña normal.

En la práctica, los tres se comprueban bien aquí. Sin embargo, si ves $2x$, el hash viene de una versión antigua y defectuosa de PHP, y deberías rehacerlo en el próximo inicio de sesión.

¿Bcrypt, Argon2 o SHA-256?

Nunca guardes contraseñas con un hash rápido como MD5 o SHA-256, porque una sola tarjeta gráfica prueba miles de millones por segundo. En cambio, bcrypt, scrypt y Argon2 están hechos para ser lentos y resistir ese hardware.

La guía de OWASP para guardar contraseñas pone primero Argon2id y cita bcrypt como opción sólida cuando Argon2 no está disponible. Como bcrypt viene incluido en PHP, Laravel, Django, Rails y Spring, a menudo es la opción segura más fácil.

Lo que ocurre si alguien roba la base de datos

Imagina que un atacante copia tu tabla de usuarios. Con MD5 o SHA-1, casi todas las contraseñas débiles caen en minutos, porque esos hashes son rápidos. En cambio, con bcrypt a coste 12, cada intento tarda una fracción real de segundo, así que el mismo ataque dura años.

La sal también importa aquí. Como cada hash tiene su propia sal, el atacante debe ir usuario por usuario. Por eso las tablas precalculadas de contraseñas comunes, las tablas arcoíris, se vuelven inútiles.

Pasar de MD5 a bcrypt

No hace falta que todos los usuarios cambien la contraseña. En su lugar, en cada inicio de sesión correcto, comprueba el hash antiguo y luego guarda un hash bcrypt nuevo de la contraseña que acaban de escribir. En pocos meses, casi todas las cuentas activas se habrán pasado solas.

Para las cuentas que no vuelven a entrar, puedes envolver el hash antiguo dentro de bcrypt y después desenvolverlo en su próximo acceso. En cualquier caso, borra la columna antigua cuando termine el cambio.

Usar bcrypt en tu código

En PHP, llama a password_hash con PASSWORD_BCRYPT y comprueba con password_verify, como muestra el manual de PHP sobre password_hash. En Node, los paquetes bcrypt y bcryptjs hacen lo mismo, y además Python tiene el paquete bcrypt.

Sea cual sea el lenguaje, nunca compares hashes como texto simple ni construyas el hash a trozos. En cambio, usa la función de verificación de la librería, que además maneja prefijos y costes antiguos.

¿Corro algún riesgo al usar esta página?

Sí. Todo el algoritmo bcrypt se ejecuta en esta página, y la sal sale de la fuente aleatoria segura de tu navegador. Ninguna contraseña ni hash se envía a ningún sitio, así que la página incluso sigue funcionando sin conexión una vez cargada.

Aun así, trata las contraseñas reales con cuidado. Usa esta página para probar, aprender y preparar cuentas, pero deja que tu aplicación haga el hash de los usuarios reales. Para contraseñas nuevas, nuestro generador de contraseñas crea claves fuertes, y el artículo de Wikipedia sobre bcrypt cuenta su historia a fondo.

Cuatro pasos

Cómo crear un hash bcrypt

Con el coste por defecto, el hash está listo en una fracción de segundo.

  • 1

    Elige un coste

    Un coste de 10 funciona bien para empezar. En cambio, 12 es más fuerte pero más lento.

  • 2

    Escribe la contraseña

    Usa Mostrar para revisar lo que escribiste.

  • 3

    Pulsa Generar hash

    Luego una barra muestra el avance con costes altos.

  • 4

    Cópialo o pruébalo

    Copia el hash o, después, compruébalo en la otra casilla.

Por qué esta

Hecho para desarrolladores que cuidan la seguridad

Una herramienta bcrypt básica envía tu contraseña a un servidor. En cambio, esta no lo hace, y además explica lo que crea.

  • Crea y comprueba

    Crea un hash o prueba una contraseña con uno.

  • Nunca se sube

    Bcrypt se ejecuta en tu navegador de principio a fin.

  • Todos los prefijos

    $2a$, $2b$ y $2y$ de cualquier lenguaje.

  • Partes explicadas

    Prefijo, coste, sal y hash, fila por fila.

  • Avisos honestos

    Coste bajo, contraseñas cortas y el límite de 72 bytes.

  • Probado con PHP

    Coincide con los valores de prueba de OpenBSD y con password_hash de PHP.

Buenos hábitos

Consejos para guardar contraseñas con bcrypt

Síguelos, y una base de datos robada será un callejón sin salida.

  • Usa coste 10 o más. Apunta a un cuarto de segundo en tu servidor.
  • Deja que la librería ponga la sal. Nunca crees ni reutilices sales a mano.
  • Verifica, no compares. Usa la función de verificación de la librería, no una comparación de texto.
  • Rehaz el hash al iniciar sesión. Actualiza costes y prefijos antiguos tras una contraseña correcta.
  • Guarda la cadena completa. Guarda los 60 caracteres en una sola columna.
  • Cuidado con los 72 bytes. Las contraseñas muy largas se cortan, así que avisa pronto a los usuarios.
Fallos habituales

Seis errores con bcrypt

Cada uno debilita los accesos o los rompe.

  • Usar MD5 o SHA-256

    Porque los hashes rápidos caen en horas.

  • Dejar el coste igual para siempre

    El hardware mejora, así que sube el coste con el tiempo.

  • Una columna demasiado corta

    Porque un hash cortado nunca vuelve a coincidir.

  • Recortar la contraseña

    Quitar espacios al registrarse pero no al entrar lo rompe todo.

  • Hacer el hash dos veces

    Además, un hash de un hash puede romper accesos antiguos.

  • Enviar contraseñas a herramientas en línea

    Por eso usa herramientas que funcionan en tu navegador, como esta.

Preguntas

Preguntas frecuentes sobre el generador bcrypt

¿Cómo creo un hash bcrypt?

Primero escribe la contraseña, elige un coste y pulsa Generar hash. Luego el hash de 60 caracteres aparece en un momento.

¿Cómo compruebo una contraseña con un hash bcrypt?

Pega el hash, escribe la contraseña y pulsa Comprobar. Entonces verás claramente si coincide o no.

¿Hay forma de revertir un hash bcrypt?

No, porque bcrypt es de un solo sentido. Solo puedes probar una suposición, y además el coste hace lenta cada prueba.

¿Por qué sale un hash distinto en cada intento?

Porque cada hash recibe una sal aleatoria nueva. Aun así, ambos hashes aceptan la misma contraseña.

¿Qué coste debo usar?

El 10 es el mínimo habitual y, hoy en día, el 12 es una buena elección para casi todos los servidores.

¿Es $2y$ lo mismo que $2b$?

Sí. $2y$ es el nombre que usa PHP para el mismo algoritmo, y esta herramienta comprueba ambos.

¿Hasta qué largo admite?

Sí. Bcrypt solo lee los primeros 72 bytes de una contraseña, por eso la herramienta te avisa si los superas.

¿Funciona con hashes de Laravel y Django?

Sí. Usan cadenas bcrypt estándar, así que puedes pegarlas directamente en el verificador.

¿Sigue siendo seguro bcrypt?

Sí, con un coste de 10 o más. Argon2id es más nuevo, pero bcrypt sigue siendo una opción sólida.

¿Mi contraseña viaja a algún servidor?

No, porque el hash y la comprobación ocurren en tu navegador, y nada sale de la página.

Más herramientas gratis

Más herramientas de seguridad

Pasos útiles para contraseñas, hashes e ID.

¿Listo para crear el hash de tu contraseña?

Escríbela, elige un coste y pulsa Generar hash. Además, este generador bcrypt es gratis, no pide cuenta y funciona en tu navegador.