Generador de Bcrypt

El Generador de Bcrypt es una herramienta gratuita que crea un hash bcrypt a partir de cualquier cadena para almacenar contraseñas de forma segura.
¿Qué es bcrypt y sigue siendo seguro?
Bcrypt es un algoritmo de hash de contraseñas que sigue siendo adecuado para almacenarlas cuando se configura con un coste apropiado, aunque los sistemas más recientes suelen optar por Argon2id. Niels Provos y David Mazières diseñaron bcrypt en 1999. Para que cada intento de adivinar una contraseña resultara deliberadamente costoso, utilizaron el proceso de programación de claves del cifrado Blowfish.
El hashing es un proceso unidireccional. Por tanto, una aplicación comprueba una contraseña aplicando el hash a un valor candidato con los parámetros almacenados, en lugar de recuperar el original. A diferencia de algoritmos de propósito general como SHA-3, bcrypt genera un registro codificado, autónomo y de longitud fija que contiene la versión, el coste, la sal y la suma de comprobación.
Un registro bcrypt estándar tiene 60 caracteres ASCII. Su suma de comprobación representa 184 bits y aparece como 31 caracteres en la codificación propia de bcrypt, similar a Base64. Bcrypt no se considera criptográficamente vulnerado, pero presenta una limitación debida a su antigüedad: las implementaciones tradicionales no procesan más de 72 bytes de entrada. Argon2id también ofrece una protección basada en el uso intensivo de memoria que bcrypt no proporciona.

¿Cómo se usa el Generador de Bcrypt?
Introduce la cadena a la que quieras aplicar el hash, ejecuta el generador y copia el valor que aparece en el campo de resultado Bcrypt Hash. Guarda el resultado completo, no solo la suma de comprobación final.
- Usa la contraseña o cadena de prueba exacta, respetando mayúsculas, minúsculas, espacios y signos de puntuación.
- Genera el resultado bcrypt.
- Copia los 60 caracteres, incluidos el marcador de versión inicial y el coste.
- Guarda el resultado en la columna de hashes de contraseña de tu base de datos.
- Durante el inicio de sesión, utiliza la función de verificación de bcrypt de tu plataforma en lugar de generar un hash y comparar directamente ambos textos.

Normalmente, bcrypt utiliza una sal aleatoria nueva para cada hash. Por eso, al procesar dos veces la misma entrada pueden generarse dos registros diferentes, y ambos se verificarán correctamente con esa entrada. Es el comportamiento esperado y evita que contraseñas idénticas tengan los mismos valores almacenados.
El procesamiento se realiza en el servidor. Tu entrada se envía al servidor mediante HTTPS y no se almacena. Antes de introducir una contraseña real de producción en cualquier servicio en línea de terceros, comprueba si hacerlo cumple la política de seguridad de tu organización.
¿Se puede descifrar o revertir un hash bcrypt?
No. Un hash bcrypt no se puede descifrar porque no contiene datos cifrados ni una clave de descifrado. En la práctica, la forma de atacarlo consiste en probar posibles contraseñas y verificar cada intento con el hash almacenado.
Bcrypt ralentiza este proceso de prueba gracias a su coste configurable. Sin embargo, no puede hacer segura una contraseña corta, común o filtrada anteriormente, y un atacante decidido aún podría descubrir entradas débiles. La sal impide reutilizar una misma tabla precalculada contra muchas cuentas, pero no es secreta y se incluye en el registro almacenado.

Cómo interpretar un resultado bcrypt
Un resultado bcrypt suele seguir el formato modular crypt. Un ejemplo representativo de su estructura es $2y$12$[22-character salt][31-character checksum]. Esta cadena solo ilustra el formato, no es el hash de una contraseña concreta.
| Parte | Longitud habitual | Finalidad |
|---|---|---|
| Marcador de versión | 4 caracteres | Identifica una variante de bcrypt, como $2y$ o $2b$. |
| Coste | 3 caracteres | Registra el coste de dos dígitos seguido de un separador. |
| Sal | 22 caracteres | Codifica una sal aleatoria de 128 bits. |
| Suma de comprobación | 31 caracteres | Codifica la suma de comprobación bcrypt de 184 bits. |
Mantén juntas todas estas partes. Si modificas un carácter, recortas el valor o lo guardas en una columna demasiado corta, la verificación normalmente fallará. El marcador de versión puede variar entre bibliotecas compatibles. Por ello, las aplicaciones deben recurrir a API de contraseñas consolidadas, en lugar de analizar y reconstruir el registro por su cuenta.
¿Cuándo conviene usar bcrypt?
Bcrypt debe utilizarse para aplicar hashes a contraseñas en sistemas que ya lo admitan, sobre todo cuando sea importante mantener la compatibilidad con una base de datos o un framework existente. Incluye una sal y está diseñado para ser lento, por lo que no resulta adecuado como suma de comprobación general de archivos ni como identificador para deduplicación.
- Los usos adecuados incluyen contraseñas de aplicaciones, pruebas de migración, comprobación del tamaño de campos de bases de datos y reproducción de un entorno de desarrollo compatible con bcrypt.
- Utiliza Argon2id en su lugar para un sistema de contraseñas nuevo, siempre que la plataforma lo admita y sus ajustes de memoria puedan gestionarse correctamente.
- Utiliza SHA-3 en su lugar para verificar la integridad de archivos, crear huellas de contenido o deduplicar datos. El Generador SHA-3/384 y el Generador SHA-3/512 producen resúmenes de propósito general, no registros de contraseñas.
- No utilices bcrypt para firmas digitales, autenticación de mensajes, cifrado ni almacenamiento de datos que deban recuperarse más adelante.
Los espacios, los signos de puntuación y los números se procesan como datos de entrada, no se ignoran. Los caracteres acentuados y los que no pertenecen al alfabeto latino se codifican como bytes antes de que bcrypt actúe. Por tanto, ambos sistemas deben generar exactamente los mismos bytes mediante una codificación de caracteres y una normalización Unicode coherentes. El límite de 72 bytes es especialmente importante en este caso, ya que un carácter Unicode puede ocupar más de un byte. Técnicamente, es posible aplicar un hash a una entrada vacía, pero una contraseña vacía no ofrece ninguna resistencia significativa frente a los intentos de adivinarla.
Preguntas frecuentes
¿Cuánto espacio necesita un hash bcrypt en la base de datos?
Reserva al menos 60 caracteres ASCII para un registro bcrypt convencional. Un campo algo más amplio puede facilitar futuras migraciones a otros algoritmos de contraseñas. No hace falta utilizar una columna binaria para el formato codificado estándar.
¿Puedo migrar a bcrypt los hashes SHA que ya tengo?
No puedes convertir un resumen SHA existente en el hash bcrypt de la contraseña original sin conocer esa contraseña. Un método de migración habitual consiste en verificar el hash antiguo la próxima vez que el usuario inicie sesión, aplicar bcrypt o Argon2id a la contraseña introducida y sustituir después el registro anterior.
Antes de guardar un resultado, comprueba que has copiado el valor completo de 60 caracteres, que el campo de la base de datos no lo trunca y que la aplicación receptora admite el marcador de versión incluido en el registro.
Herramientas populares
Crea y descarga tu propia firma personalizada de manera rápida y sencilla con nuestro generador de firmas.
Calcula el tamaño de cualquier texto en Bytes, Kilobytes o Megabytes de manera precisa y rápida.
Realiza búsquedas inversas de IP para encontrar dominios o anfitriones asociados a cualquier dirección IP.
Realiza pruebas de ping para verificar la conectividad y tiempo de respuesta de sitios web, servidores o puertos.
La herramienta de consulta de IP de Digily Link ofrece información detallada sobre cualquier dirección IP. Utiliza este servicio online gratuito para obtener datos completos de la IP.
Genera al instante tu enlace gratuito de WhatsApp con nuestro generador de enlaces de WhatsApp. Añade un mensaje personalizado e inicia chats con un clic, sin iniciar sesión ni programar.