Hashes/Cripto

Bcrypt Hash + Verify

Hashea contraseñas con bcrypt (con sal aleatoria y coste configurable) y verifica una contraseña contra un hash bcrypt existente.


                    

Bcrypt is a deliberately slow password-hashing algorithm: unlike MD5 or SHA-256, it intentionally requires heavy computation so that brute-forcing passwords stays impractical even if a database of hashes leaks.

How to use it

Common uses

Things to keep in mind

Pick a cost factor that keeps hashing around 100-300ms on your target server — a balance between security and login-time load.

Bcrypt truncates passwords longer than 72 bytes — characters beyond that limit are ignored by the algorithm.

Artículo sobre esta herramienta: Bcrypt: por qué las contraseñas se hashean lento y no rápido

Preguntas frecuentes

¿Por qué bcrypt incluye un factor de "coste" o "rondas"?

El factor de coste controla cuántas veces se repite internamente el hash, por lo que el hash se vuelve exponencialmente más lento a medida que aumenta. Esto permite mantenerlo deliberadamente lento para resistir ataques de fuerza bruta incluso cuando el hardware mejora.

¿Por qué el hash de bcrypt siempre tiene la misma longitud sin importar mi contraseña?

Bcrypt genera un hash de longitud fija (normalmente 60 caracteres) que codifica juntos la versión del algoritmo, el factor de coste, la sal y el hash — la longitud no depende de cuán larga o corta sea la contraseña original.

¿Bcrypt necesita un campo de sal aparte?

No. La sal se genera automáticamente y se incrusta directamente en la cadena de salida, así que no necesitas almacenarla ni gestionarla por separado — se incluye siempre que verificas una contraseña contra el hash.

¿Hay un límite en la longitud de la contraseña en bcrypt?

Sí, bcrypt solo procesa los primeros 72 bytes de la contraseña — todo lo que exceda eso se descarta sin aviso. En la práctica rara vez es un problema, pero conviene tenerlo en cuenta con contraseñas muy largas o caracteres no ASCII, donde un solo carácter puede ocupar varios bytes.

¿Por qué se sigue recomendando bcrypt si existe Argon2?

Bcrypt lleva décadas probado en la práctica, tiene soporte amplio en todos los lenguajes y frameworks, y sigue siendo una opción totalmente segura. Argon2 se recomienda como prioritario para sistemas nuevos por su protección frente a ataques con GPU/ASIC, pero bcrypt no se considera inseguro — solo menos resistente a hardware especializado.

Artículos: Hashes/Cripto

Hash Generator: en qué se diferencian MD5, SHA-1 y SHA-256

Por qué MD5 todavía se usa para verificar la integridad de archivos, pero no para contraseñas.

Checksum Verifier: cómo comprobar que un archivo no está dañado

Por qué una suma de comprobación coincidente confirma la integridad de un archivo, pero no quién lo creó.

HMAC: en qué se diferencia un hash con clave de un hash normal

Por qué un SHA-256 normal no protege contra la manipulación de un mensaje, pero HMAC sí.

UUID: cómo se generan identificadores que casi nunca se repiten

Por qué se puede generar un UUID v4 de forma independiente en millones de máquinas sin riesgo de colisión.

Generador de contraseñas: qué es lo que realmente la hace fuerte

Por qué una contraseña larga hecha de palabras del diccionario es más fuerte que una corta con símbolos y números.

AES: cómo funciona el cifrado simétrico

Por qué la misma clave cifra y descifra los datos en AES, y en qué se diferencia del cifrado asimétrico.

Argon2: por qué este algoritmo ganó el concurso de hasheo de contraseñas

Cómo Argon2 defiende mejor contra ataques con GPU que los algoritmos de hasheo de contraseñas más antiguos.

Scrypt: por qué el algoritmo necesita tanta memoria

Por qué scrypt exige deliberadamente mucha memoria para dificultar el ataque en dispositivos ASIC.

TOTP: cómo funcionan los códigos de un solo uso en las apps de autenticación

Por qué el código de Google Authenticator funciona sin internet y se sincroniza con el servidor solo por la hora.

PBKDF2: el estándar de estiramiento de claves más antiguo

Por qué el número de iteraciones recomendado para PBKDF2 crece cada año.

X.509: qué hay dentro de un certificado SSL

Qué comprueba exactamente el navegador en el certificado de un sitio antes de mostrar el candado verde.

PGP: cómo funciona el cifrado con clave pública y privada

Por qué se puede compartir libremente una clave pública PGP, pero nunca la privada.