Generador de hash SHA-256, MD5 y Bcrypt

Criptografía y seguridad web • Desarrollo
Publicidad
100 % local en navegador Sin registro de datos Web Cryptography API

Calculadora y generador de hashes criptográficos

Calcula instantáneamente firmas criptográficas SHA-256, MD5, SHA-512, SHA-1, RIPEMD-160 y CRC-32. Genera y verifica contraseñas seguras con Bcrypt (coste 4 a 14) o comprueba checksums de archivos por arrastrar y soltar con total privacidad.

0 caracteres0 B
SHA-256 256 bits • Estándar NIST
...
MD5 128 bits • Checksum / Legacy
...
SHA-512 512 bits • Alta resistencia
...
SHA-384 384 bits
...
SHA-1 160 bits • Git / Obsoleto
...
RIPEMD-160 160 bits • Bitcoin / Blockchain
...
CRC-32 32 bits • Comprobación de integridad
...

Comprobar coincidencia con hash esperado

Pega aquí un hash conocido para verificar al instante si coincide con el texto escrito arriba:

Arrastra un archivo aquí o haz clic para seleccionarlo
Lectura local por bloques en tu navegador • Ningún dato se sube a internet

Generador de hash Bcrypt

Crea un hash seguro con salteo criptográfico (CSPRNG) y factor de coste exponencial adaptable.

Hash Bcrypt generado:
...
Pulsa en "Generar hash Bcrypt" para calcularlo

Verificador y validador de contraseña Bcrypt

Comprueba si una contraseña en texto plano coincide con un hash Bcrypt existente de tu base de datos.

HMAC-SHA256 Firmas JWT / API Webhooks
...
HMAC-SHA512 Máxima seguridad
...
HMAC-MD5 Legacy / Protocolos antiguos
...

Guía técnica de funciones hash: algoritmos, seguridad y buenas prácticas

Comprende el funcionamiento de los algoritmos de resumen criptográfico (SHA-256, MD5, SHA-512) y las funciones de derivación de claves para contraseñas como Bcrypt.

¿Qué es una función hash y cuáles son sus propiedades?

Una función hash criptográfica es un algoritmo matemático determinista que toma una entrada de datos de cualquier longitud (un solo carácter, un libro entero o una imagen ISO de varios gigabytes) y genera una cadena alfanumérica de longitud fija conocida como hash, digest o resumen digital.

Para que una función hash se considere criptográficamente robusta debe satisfacer tres pilares fundamentales:

  • Resistencia a la preimagen (unidireccionalidad): Debe ser computacionalmente inviable reconstruir el mensaje original a partir únicamente de su valor hash resultante.
  • Efecto avalancha: Cualquier cambio mínimo en el texto de entrada (como alterar una sola letra o un bit) debe producir un hash completamente diferente y sin correlación estadística visible con el anterior.
  • Resistencia a colisiones: Debe ser matemáticamente improbable encontrar dos entradas distintas que generen exactamente el mismo hash de salida.

Comparativa técnica de algoritmos: cuándo utilizar cada uno

Algoritmo Longitud de salida Velocidad Estado de seguridad Caso de uso ideal
SHA-256 256 bits (64 hex) Muy rápida Seguro (Estándar NIST) Firmas digitales, blockchain, checksums de software.
MD5 128 bits (32 hex) Ultrarrápida Vulnerado (Colisiones) Comprobación de descargas corruptas y caché legacy.
SHA-1 160 bits (40 hex) Muy rápida Obsoleto (SHAttered) Identificadores de commits en Git y compatibilidad histórica.
Bcrypt 60 caracteres ($2y$...) Lenta y adaptable Excelente para credenciales Almacenamiento de contraseñas de usuarios en bases de datos.

¿Por qué nunca debes almacenar contraseñas con SHA-256 o MD5 directo?

Uno de los errores más graves en seguridad web es guardar contraseñas de usuarios aplicándoles únicamente md5($password) o sha256($password).

Las funciones de resumen general como SHA-256 fueron concebidas para procesar megabytes por segundo en hardware estándar. Un atacante con un equipo equipado con varias tarjetas gráficas comerciales (GPU) puede probar más de 10.000 millones de contraseñas por segundo contra un hash SHA-256. Además, si dos usuarios tienen la misma contraseña ("123456"), sus hashes serán idénticos, lo que permite el uso de tablas arcoíris (rainbow tables) precalculadas para descifrar millones de cuentas en segundos.

El poder de Bcrypt: salteo automático y coste exponencial

Diseñado por Niels Provos y David Mazières en 1999 sobre el cifrado Eksblowfish, Bcrypt resuelve los problemas de las contraseñas mediante dos mecanismos clave:

  1. Salteo aleatorio criptográfico (Salt): Genera un salt único de 128 bits para cada contraseña. Incluso si diez usuarios tienen la misma contraseña, sus hashes Bcrypt serán totalmente distintos, neutralizando por completo las tablas arcoíris.
  2. Factor de coste exponencial ($2^{\text{cost}}$): Cada incremento en el valor de coste multiplica por dos el número de rondas y el tiempo de cálculo. Un coste de 10 requiere $2^{10} = 1.024$ iteraciones; un coste de 12 requiere $4.096$ iteraciones. De este modo, el hardware del atacante se ve ralentizado de forma drástica, pasando de miles de millones de intentos por segundo a unos pocos cientos, haciendo inviable la fuerza bruta.