Generador de Hash Bcrypt Online: Cifra Contraseñas Gratis

4 (rápido)10 (recomendado)14 (lento)

Con este generador de hash Bcrypt gratuito puedes cifrar cualquier contraseña o texto de forma segura directamente en tu navegador. Solo escribe la contraseña, elige el número de rondas y obtén tu hash al instante. También incluye un verificador para comprobar si una contraseña corresponde a un hash existente. Sin registro, sin límites y sin enviar nada a ningún servidor.

Es la herramienta ideal para desarrolladores, programadores y administradores de sistemas que necesitan generar hashes de prueba, verificar contraseñas o entender cómo funciona el algoritmo Bcrypt sin montar un entorno local.

¿Qué es Bcrypt?

Bcrypt es un algoritmo de hashing diseñado específicamente para contraseñas. Fue creado en 1999 por Niels Provos y David Mazières basándose en el cifrado Blowfish, y hoy sigue siendo uno de los métodos más recomendados por expertos en seguridad para almacenar contraseñas de forma segura.

A diferencia de otros algoritmos como MD5 o SHA-1, que fueron diseñados para ser rápidos, Bcrypt fue diseñado deliberadamente para ser lento y costoso computacionalmente. Eso puede parecer una desventaja, pero es exactamente lo que lo hace seguro: un atacante que intente adivinar contraseñas por fuerza bruta tendrá que invertir mucho más tiempo y recursos.

¿Cómo funciona Bcrypt?

Bcrypt combina tres elementos para generar el hash final:

  • La contraseña que quieres proteger (máximo 72 bytes).
  • Un salt aleatorio de 128 bits que se genera automáticamente cada vez. Esto garantiza que dos contraseñas idénticas produzcan hashes completamente distintos.
  • El cost factor o número de rondas, que determina cuántas veces se ejecuta el algoritmo internamente. Cada incremento de una ronda duplica el tiempo de cómputo.

El resultado es siempre una cadena de exactamente 60 caracteres con este formato: $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy

Anatomía de un hash Bcrypt

Cada hash Bcrypt tiene una estructura fija que puedes leer directamente:

ParteEjemploSignificado
Versión$2a$Variante del algoritmo Bcrypt
Rondas10$Cost factor (número de iteraciones)
SaltPrimeros 22 caracteresValor aleatorio único para este hash
HashÚltimos 31 caracteresResultado del cifrado

¿Cuántas rondas debo usar?

El número de rondas es el parámetro más importante a la hora de configurar Bcrypt. Aquí tienes una guía práctica:

RondasTiempo aproximadoUso recomendado
4 – 6Menos de 5 msSolo para pruebas y desarrollo
8 – 920 – 50 msAplicaciones con tráfico muy alto
10~100 msEstándar recomendado para la mayoría de aplicaciones
11 – 12200 – 400 msAplicaciones con datos sensibles (banca, salud)
13 – 14800 ms – 1.5 sMáxima seguridad, bajo tráfico

La recomendación general de OWASP es usar un mínimo de 10 rondas para nuevas aplicaciones. Si tu hardware es más moderno, puedes subir a 12 sin impacto notable en la experiencia del usuario.

¿Por qué Bcrypt y no MD5 o SHA-256?

Es una pregunta muy común entre desarrolladores que empiezan con seguridad. La respuesta corta es que MD5 y SHA-256 no fueron diseñados para contraseñas, sino para verificar integridad de archivos y datos. Son tan rápidos que un atacante moderno puede probar miles de millones de combinaciones por segundo usando una GPU.

Bcrypt, en cambio, está diseñado para ser lento. Con 10 rondas en hardware actual, un atacante solo puede probar unos pocos miles de combinaciones por segundo, lo que hace que los ataques de fuerza bruta sean prácticamente inviables para contraseñas razonablemente complejas.

AlgoritmoVelocidad (GPU moderna)¿Recomendado para contraseñas?
MD5~60.000 millones/segundo❌ No
SHA-256~22.000 millones/segundo❌ No
Bcrypt (10 rondas)~20.000/segundo✅ Sí
Argon2idVariable (ajustable)✅ Sí (más moderno)

Cómo usar Bcrypt en los lenguajes de programación más comunes

Bcrypt está disponible como librería nativa o paquete en prácticamente todos los lenguajes modernos:

  • PHP: función password_hash($pass, PASSWORD_BCRYPT) incluida desde PHP 5.5, sin instalar nada.
  • Node.js: paquete bcryptjs o bcrypt via npm. Es el más usado en aplicaciones JavaScript del lado del servidor.
  • Python: librería bcrypt instalable con pip. También se puede usar passlib que la envuelve con una API más cómoda.
  • Java / Spring Boot: clase BCryptPasswordEncoder incluida en Spring Security.
  • Ruby on Rails: gema bcrypt, integrada por defecto en has_secure_password.
  • Go: paquete golang.org/x/crypto/bcrypt de la librería estándar extendida.
Generador de Hash Bcrypt Online

FAQ

¿Se puede revertir un hash Bcrypt para obtener la contraseña original?

No. Bcrypt es una función de hash unidireccional. Matemáticamente es imposible reconstruir la contraseña original a partir del hash. Por eso no existe un “descifrador” de Bcrypt real: la única forma de atacarlo es por fuerza bruta, probando contraseñas una por una, lo que con un cost factor alto es extremadamente lento.

¿Por qué el mismo texto genera un hash diferente cada vez?

Porque Bcrypt genera un salt aleatorio en cada operación y lo incrusta dentro del propio hash. Esto es una característica de seguridad, no un error: evita que los atacantes usen tablas precalculadas (rainbow tables) para descifrar contraseñas comunes.

¿Mi contraseña se envía al servidor cuando uso esta herramienta?

No. Esta herramienta usa la librería bcryptjs que se ejecuta completamente en tu navegador. Tu contraseña nunca sale de tu dispositivo. Puedes verificarlo desconectando el WiFi y comprobando que la herramienta sigue funcionando.

¿Cuál es la diferencia entre $2a$, $2b$ y $2y$?

Son variantes de la misma especificación Bcrypt. $2b$ es la versión más reciente y recomendada, corrigiendo un bug menor de $2a$. $2y$ es específica de PHP. En la práctica, los tres son interoperables y cualquier librería moderna los acepta sin problemas.

¿Bcrypt tiene algún límite de longitud de contraseña?

Sí. Bcrypt solo procesa los primeros 72 bytes de la contraseña. Para contraseñas en ASCII eso equivale a 72 caracteres, pero con caracteres Unicode (tildes, emojis, caracteres chinos) puede ser menos. Si necesitas soportar contraseñas más largas, la solución habitual es hacer un SHA-256 de la contraseña antes de pasarla a Bcrypt.

Vea También:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *