Generador de hash
Genera valores hash MD5, SHA-1, SHA-256 y SHA-512 desde cualquier texto en tu navegador. Nada se envía a un servidor — todo usa la Web Crypto API.
¿Qué es un hash?
Una función hash criptográfica convierte cualquier entrada en una cadena de longitud fija. La misma entrada siempre produce el mismo hash, pero un mínimo cambio en la entrada genera un hash completamente diferente — esto se llama efecto avalancha. Los hashes son unidireccionales: no puedes revertir un hash para recuperar la entrada original.
Los usos habituales incluyen almacenamiento de contraseñas (guardar el hash, no la contraseña), verificación de integridad de archivos (comparar checksums tras la descarga), firmas digitales y deduplicación de datos. SHA-256 es el más usado hoy; MD5 y SHA-1 se consideran inseguros para usos criptográficos pero siguen siendo útiles como checksums.
Cuándo usar cada algoritmo
MD5 (128 bits): Rápido y muy soportado. Se han demostrado colisiones, por lo que es inseguro para fines criptográficos. Aún útil para checksums sin exigencias de seguridad, tablas hash y claves de caché.
SHA-1 (160 bits): Obsoleto para seguridad tras los ataques de colisión de 2017. Aparece en sistemas heredados y en los hashes de commits de git (git está migrando a SHA-256).
SHA-256 (256 bits): El estándar actual. Se usa en TLS/SSL, Bitcoin, firmas de certificados y la mayoría de protocolos criptográficos modernos. Recomendado para casi cualquier uso nuevo.
SHA-512 (512 bits): Salida más larga con un margen de seguridad ligeramente superior. Se usa cuando se requiere un hash más largo o por precaución extra.
Hashing vs cifrado
El hashing es unidireccional — no se puede recuperar el dato original desde el hash, solo verificar si un candidato coincide. El cifrado es bidireccional — con la clave correcta se descifra. El hashing es para verificación (contraseñas, integridad de archivos). El cifrado es para confidencialidad (proteger datos en tránsito o en reposo).
¿Necesitas generar identificadores únicos en su lugar? Prueba nuestro generador de UUID.
MD5 vs SHA-1 vs SHA-256 vs SHA-512: Comparación
Elige el algoritmo de hash adecuado para tu caso de uso — los requisitos de seguridad, el tamaño de salida y el rendimiento difieren significativamente.
| Característica | MD5 | SHA-1 | SHA-256 Recomendado | SHA-512 |
|---|---|---|---|---|
| Longitud de salida (bits) | 128 | 160 | 256 | 512 |
| Salida (caracteres hex) | 32 | 40 | 64 | 128 |
| Velocidad (relativa) | Más rápido | Rápido | Moderado | Más lento |
| Estado de seguridad | Roto — colisiones conocidas | Obsoleto | Seguro | Seguro |
| Caso de uso común | Solo sumas de verificación | Sistemas heredados | TLS, firma de código | Aplicaciones de alta seguridad |
| Recomendado por NIST | No | No | Sí | Sí |
MD5 y SHA-1 están criptográficamente comprometidos para fines de seguridad. Use SHA-256 o SHA-512 para cualquier nueva implementación.
Usos comunes
- Verificación de integridad de archivos: Genera un hash SHA-256 de un archivo antes y después de la transferencia para confirmar que no hubo corrupción ni manipulación.
- Prototipado de almacenamiento de contraseñas: Prototipa cómo deben hashearse las contraseñas (SHA-256, SHA-512) antes de implementar el almacenamiento en el servidor en una aplicación web.
- Generación de firmas de API: Muchas APIs requieren firmas HMAC-SHA256 para la autenticación de solicitudes — usa la herramienta de hash para probar la construcción de la firma.
- Aprendizaje de blockchain: Entiende cómo funciona la prueba de trabajo de Bitcoin hasheando cabeceras de bloques y observando cómo cambiar un solo byte altera completamente la salida.
- Claves de deduplicación: Genera hashes de contenido para detectar archivos o registros de base de datos duplicados sin almacenar ni comparar el contenido completo.
- Anonimización de datos: Hashea información de identificación personal (correo electrónico, teléfono) para casos de uso analítico donde el valor original no debe almacenarse.
- Comprensión de commits de Git: Git usa SHA-1/SHA-256 para identificar los commits — hashea una cadena para entender cómo Git asigna identificadores únicos a los objetos.
FAQ
¿MD5 sigue siendo seguro?
No para seguridad — no lo uses para contraseñas, firmas digitales ni nada donde un atacante pueda beneficiarse encontrando una colisión. Sigue siendo adecuado para usos no criptográficos como checksums, claves de caché o deduplicación, donde prima la velocidad sobre la resistencia a colisiones.
¿Puedo revertir un hash para obtener el texto original?
No. Los hashes son unidireccionales por diseño — el proceso no es una función invertible. Los ataques de diccionario y las rainbow tables pueden encontrar entradas comunes (de ahí el salado de contraseñas), pero el hash en sí no puede invertirse.
¿Por qué distintos algoritmos producen hashes de distinta longitud?
Cada algoritmo tiene un tamaño de salida fijo. MD5 produce 32 caracteres hex (128 bits), SHA-1 produce 40 (160 bits), SHA-256 produce 64 (256 bits) y SHA-512 produce 128 (512 bits). Los hashes más largos tienen un espacio de salida mayor y más resistencia a colisiones.
¿El generador de hash envía mi texto a un servidor?
No. Todo el hashing se realiza del lado del cliente usando la Web Crypto API de tu navegador. Tu texto nunca sale de tu dispositivo.
¿Puedo revertir un hash al texto original?
No. Las funciones hash criptográficas son unidireccionales — es computacionalmente inviable reconstruir el texto original a partir de un hash. Esto es por diseño.
En cifras
- SHA-256 produce una salida de 256 bits (32 bytes) — 2^256 valores posibles, más que los átomos en el universo observable
- MD5 fue criptográficamente quebrantado en 2004 mediante ataques de colisión (Wang & Yu); el NIST lo dejó obsoleto para todos los usos de seguridad
- El NIST estandarizó SHA-3 (Keccak) en 2015 como respaldo estructural de SHA-2 usando una construcción de esponja diferente
- La cadena de bloques de Bitcoin depende de SHA-256 — encontrar un hash de bloque válido requiere ~10^21 operaciones de hash por segundo en toda la red