Generador de Hash bcrypt
Generar hash
Mayor = más lento y más seguro. 12 es un buen valor por defecto.
De vez en cuando tienes un hash bcrypt de una copia de seguridad antigua y una contraseña en texto plano, y necesitas saber si coinciden. O tienes una contraseña y quieres el hash que produciría un factor de costo dado. Esta herramienta hace ambas cosas: escribe una contraseña y genera un nuevo hash, pega un hash y un candidato y te dice si la verificación tiene éxito, utilizando la misma comparación de tiempo constante que una verificación de inicio de sesión en producción.
Generar o verificar bcrypt
-
1
Elige un modo
Genera un nuevo hash a partir de una contraseña, o verifica una contraseña contra un hash existente `$2a$` / `$2b$` / `$2y$`.
-
2
Para generar: ingresa texto plano y costo
Costo 4-13; 10-12 es normal. Se crea una sal aleatoria de 16 bytes para cada hash.
-
3
Para verificar: pega hash y texto plano
La herramienta extrae la sal y el costo del hash y vuelve a hashear el texto plano con los mismos parámetros.
-
4
Lee el resultado
El modo de generación copia el hash de 60 caracteres; el modo de verificación devuelve una coincidencia verde o una discrepancia roja.
Internos del modo de verificación
Dado un hash almacenado como:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
El verificador:
- Analiza la versión (
2b), costo (12), sal (los primeros 22 caracteres después del costo) y digest (los últimos 31 caracteres). - Vuelve a ejecutar bcrypt en el texto plano candidato con la sal y el costo extraídos.
- Compara el digest resultante con el original usando comparación de tiempo constante.
Una comparación exitosa produce true; cualquier diferencia produce false.
Comparación de tiempo constante
Comparar dos cadenas con un == ingenuo devuelve tan pronto como un byte difiere, un canal lateral de tiempo que puede filtrar el hash dígito por dígito a través de suficientes muestras. Las verificaciones de contraseña en producción (y esta herramienta) utilizan una comparación de tiempo constante que siempre examina cada byte, por lo que el tiempo de decisión no depende de cuántos bytes iniciales coinciden.
Casos de diagnóstico comunes
| Síntoma | Causa probable |
|---|---|
| La verificación falla, estás seguro de la contraseña | Espacios en blanco finales o BOM en la entrada. Elimina ambos. |
La verificación falla, versión 2y |
Algunas bibliotecas no aceptan 2y; es válido y compatible. Vuelve a hashear con 2b en adelante. |
| Hash demasiado corto / malformado | No es un hash bcrypt. MD5 son 32 caracteres hexadecimales, SHA-1 son 40, bcrypt son 60 con delimitadores $. |
| Advertencia de desajuste de costo | El costo almacenado está por debajo de tu mínimo de política. Vuelve a hashear en el próximo inicio de sesión exitoso. |
Rehashing en el inicio de sesión
Mejor práctica: cuando un usuario inicia sesión con éxito, verifica si el hash almacenado tiene un costo inferior a tu política actual. Si es así, vuelve a hashear la contraseña al nuevo costo y actualiza la base de datos. En unos meses, actualizas toda la base de usuarios sin pedir a nadie que cambie su contraseña.
Lo que la herramienta no hace
- Verificación masiva, Diseñada para un hash a la vez.
- Crackear o fuerza bruta, Ataques de diccionario o tablas arcoíris están intencionalmente fuera de alcance.
- Recuperar el texto plano, bcrypt es unidireccional; si has olvidado la contraseña, el único camino es restablecer.
Preguntas frecuentes
Se envía a nuestro servidor a través de una conexión cifrada, porque el hashing y la verificación se calculan allí. No se almacena, no se registra y nunca se añade al enlace de la página.
La sal se genera aleatoriamente por hash. Ese es el objetivo: dos usuarios con la misma contraseña obtienen hashes diferentes, lo que derrota las tablas arcoíris.
Sí, eso es exactamente lo que hace el modo de verificación: pega el hash que tienes, pega una contraseña candidata, la herramienta confirma o niega una coincidencia.
Sí. Todas las variantes modernas interoperan: el digest es compatible entre versiones; solo difiere la etiqueta. Algunos hashes antiguos $2$ de sistemas de la era 2000 pueden necesitar una biblioteca con soporte legado explícito.
Herramientas relacionadas
Codificador de cifrado A1Z26
Codifica texto usando el cifrado A1Z26 (A=1, B=2, ... Z=26) o decodifica una secuencia de números de vuelta a letras, con separador personalizable.
Codificador de Cifrado César
Encripta y desencripta texto usando el cifrado César. Cualquier desplazamiento de 1-25, soporta ROT13 como un caso especial, conserva la puntuación y las mayúsculas y minúsculas.
Codificador de archivos Base64
Codifica cualquier archivo (PDF, ZIP, imagen, ejecutable) a texto Base64 para incrustar en JSON, correo electrónico, YAML o URIs de datos. Se ejecuta localmente, sin carga.
Codificador y Decodificador Base58
Codifica texto UTF-8 o bytes hexadecimales y decodifica Base58 de forma segura con el alfabeto de Bitcoin, Ripple o Flickr.
Identificador de Cifrados
Pega el texto cifrado y el identificador sugiere esquemas de codificación/cifrado probables: Base64, hex, binario, Morse, César o sustitución, JWT y hashes comunes.
Cifrado / Descifrado AES
Cifra y descifra texto de bajo riesgo con cifradores AES de OpenSSL. La frase de paso se resume con SHA-256 y la salida Base64 contiene IV más texto cifrado.
Herramienta disponible en otros idiomas
- bcrypt 해시 생성기 [KO]
- ตัวสร้าง bcrypt Hash [TH]
- bcrypt Hash Generator [EN]
- bcrypt-hashgenerator [SV]
- bcrypt-hashgenerator [NL]
- bcrypt 哈希生成器 [ZH]
- Generator hashy bcrypt [PL]
- Trình tạo hash bcrypt [VI]
- Generator Hash bcrypt [ID]
- مولد Hash bcrypt [AR]
- bcrypt Hash Oluşturucu [TR]
- bcrypt Hashジェネレーター [JA]
- Gerador de Hash bcrypt [PT]
- bcrypt-Hash-Generator [DE]
- Générateur de hachage bcrypt [FR]
- Generatore di hash bcrypt [IT]
- Генератор bcrypt-хешей [RU]