Cómo generar hashes MD5, SHA-256 y SHA-512
Resumen rapido
Aprende qué es un hash, la diferencia entre MD5, SHA-1, SHA-256 y SHA-512, cuándo usar cada uno y por qué MD5 está roto. Genera hashes en el navegador.
Un hash es una huella digital de longitud fija generada por una función unidireccional: a partir de un texto de entrada produce siempre la misma salida, pero no es posible reconstruir el original. SHA-256 y SHA-512 son los algoritmos recomendados hoy; MD5 está criptográficamente roto y solo sirve para checksums de sistemas heredados.
El Generador de Hash de NeatForge calcula MD5, SHA-1, SHA-256, SHA-384 y SHA-512 a la vez en tu navegador, usando la Web Crypto API nativa.
¿Qué es un hash?
Un hash es el resultado de aplicar una función hash criptográfica a un dato. Sus propiedades clave son:
- Determinista: la misma entrada produce siempre el mismo hash.
- Unidireccional: no se puede recuperar el original a partir del hash.
- Avalancha: cambiar un solo bit cambia todo el hash.
- Longitud fija: SHA-256 siempre da 64 caracteres hex, sin importar el tamaño de la entrada.
El hash no es cifrado. El cifrado es bidireccional (se puede descifrar con una clave); el hash no.
MD5 vs SHA-1 vs SHA-256 vs SHA-512
| Algoritmo | Longitud | Estado | Uso recomendado |
|---|---|---|---|
| MD5 | 128 bits | Roto | Solo checksums heredados |
| SHA-1 | 160 bits | Roto | Solo Git heredado |
| SHA-256 | 256 bits | Seguro | Uso general |
| SHA-512 | 512 bits | Seguro | Criptografía de alto rendimiento |
¿Cuándo usar cada algoritmo?
- Checksums e integridad: SHA-256 o SHA-512.
- Identificación estilo Git: SHA-1 (Git moderno ya permite SHA-256).
- Almacenamiento de contraseñas: nunca hashes simples; usa bcrypt, scrypt o Argon2.
- Sistemas heredados: MD5 o SHA-1 solo si el protocolo lo exige.
¿Por qué MD5 está roto?
Desde 2004 existen colisiones MD5 (dos entradas distintas con el mismo hash) que se pueden calcular en segundos. Por eso MD5 no sirve para firmas digitales, TLS ni almacenamiento de contraseñas. Se mantiene solo por compatibilidad con sistemas antiguos.
¿Cómo generar un hash?
- Abre el Generador de Hash.
- Pega el texto en la caja de entrada.
- Pulsa Calcular Hashes.
- Copia el algoritmo que necesites (botón Copiar junto a cada hash).
La entrada se codifica en UTF-8, así que los caracteres internacionales y los emoji se hashean correctamente.
¿Cómo se calculan los hashes en el navegador?
La herramienta usa crypto.subtle.digest de la Web Crypto API para SHA-1, SHA-256, SHA-384 y SHA-512:
- es nativa del navegador, rápida y auditada.
- no depende de
Math.random()ni de librerías externas. - la entrada se codifica en UTF-8 antes de hashear.
MD5 no está en la Web Crypto API (por estar roto), así que se calcula con una implementación JavaScript incluida, solo para fines de compatibilidad.
Preguntas frecuentes
¿Puedo hashear archivos?
Esta herramienta calcula el hash solo de texto. Para archivos, usa sha256sum en la terminal o una utilidad dedicada.
¿Es seguro almacenar contraseñas con SHA-256? No directamente. SHA-256 es rápido, lo que lo hace vulnerable a ataques de diccionario. Usa bcrypt, scrypt o Argon2, que son lentos a propósito.
¿Cuál es la diferencia entre hash y cifrado? El hash es unidireccional: no puedes recuperar el original. El cifrado es bidireccional: se descifra con una clave. Usa hash para integridad y cifrado para confidencialidad.
¿Dos textos pueden tener el mismo hash? Sí, se llama colisión. En SHA-256 es computacionalmente inviable encontrar una; en MD5 es trivial. Por eso MD5 no se usa para seguridad.
→ Genera hashes MD5 y SHA-256 gratis