Generador de Hash — MD5, SHA-256, SHA-512
Genere hashes criptográficos al instante en su navegador. Soporta MD5, SHA-1, SHA-256, SHA-384 y SHA-512. Todo el procesamiento es 100% del lado del cliente — sus datos nunca salen de su navegador.
Web Crypto API incorporada del navegador y una implementación local de MD5. Cero solicitudes de red.
Generar Hash
Todos los Algoritmos a la Vez
Genere el hash de la misma entrada con los cinco algoritmos simultáneamente.
| MD5 | — | |
| SHA-1 | — | |
| SHA-256 | — | |
| SHA-384 | — | |
| SHA-512 | — |
Comparar Hashes
Pegue dos valores hash para verificar si coinciden — útil para comprobar la integridad de archivos o comparar checksums.
¿Qué es una Función Hash?
Una función hash es un algoritmo matemático que transforma una entrada de cualquier longitud en una salida de longitud fija llamada hash, digest o checksum. Las funciones hash son la base de la criptografía moderna, usadas en firmas digitales, verificación de certificados, almacenamiento de contraseñas, verificación de integridad de datos y direccionamiento de contenido.
Tres propiedades definen una función hash criptográfica: determinismo (entradas idénticas siempre producen salidas idénticas), efecto avalancha (un pequeño cambio en la entrada cambia radicalmente la salida) y unidireccionalidad (no se puede revertir un hash para recuperar la entrada original). Una función hash segura también resiste ataques de colisión — encontrar dos entradas diferentes que producen el mismo hash.
Comparación de Algoritmos Hash
| Algoritmo | Longitud de Salida | Estado de Seguridad | Casos de Uso Comunes |
|---|---|---|---|
MD5 |
128 bits (32 hex) | Roto | Checksums, claves de caché, deduplicación sin seguridad |
SHA-1 |
160 bits (40 hex) | Obsoleto | Sistemas legacy, IDs de objetos Git (en transición) |
SHA-256 |
256 bits (64 hex) | Seguro | Certificados TLS, firma de código, Bitcoin, JWTs |
SHA-384 |
384 bits (96 hex) | Fuerte | TLS 1.2+, requisitos gubernamentales/de cumplimiento |
SHA-512 |
512 bits (128 hex) | Fuerte | Aplicaciones de alta seguridad, forense digital, archivado |
Hashing en JavaScript con Web Crypto API
Los navegadores modernos exponen la API crypto.subtle.digest() para computar hashes SHA completamente del lado del cliente, sin dependencias. El siguiente ejemplo calcula un hash SHA-256 y convierte el resultado a una cadena hexadecimal:
async function sha256(message) {
const encoder = new TextEncoder();
const data = encoder.encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
const hashArray = Array.from(new Uint8Array(hashBuffer));
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}
// Uso
const hash = await sha256('hello world');
console.log(hash);
// => b94d27b9934d3e08a52e52d7da7dabfac484efe04294e576f4...
Web Crypto no soporta MD5 ya que MD5 no se considera criptográficamente seguro. Para MD5, se usa una implementación en JavaScript puro como respaldo.
Preguntas Frecuentes
¿Qué es una función hash?
Una función hash toma una entrada (texto, archivo o cualquier dato binario) y produce una cadena de caracteres de longitud fija. La misma entrada siempre produce el mismo hash, pero cualquier cambio en la entrada — incluso un solo carácter — produce un hash completamente diferente. Esto hace que los hashes sean útiles para detectar cambios en datos, verificar descargas y almacenar contraseñas sin guardar el valor original.
¿Cuál es la diferencia entre MD5 y SHA-256?
MD5 produce un digest de 128 bits (32 caracteres hexadecimales) y es rápido de computar, pero se pueden crear colisiones criptográficas intencionalmente — dos entradas diferentes pueden producir el mismo hash MD5. Esto hace que MD5 sea inadecuado para cualquier propósito de seguridad. SHA-256 produce un digest de 256 bits y permanece seguro contra todos los ataques conocidos. Use SHA-256 o SHA-512 para cualquier aplicación sensible a la seguridad. MD5 es aceptable solo para usos no relacionados con seguridad como claves de caché o checksums no críticos.
¿Es reversible el hashing? ¿Puedo descifrar un hash?
No — el hashing es una operación de un solo sentido por diseño. No existe un algoritmo para recuperar la entrada original a partir de un hash. Sin embargo, entradas cortas o comunes pueden encontrarse por fuerza bruta o tablas rainbow precomputadas. Por eso las contraseñas deben ser hasheadas con algoritmos lentos con salt como bcrypt o Argon2, no con algoritmos rápidos como SHA-256. Los algoritmos hash de esta página están diseñados para integridad de datos y checksums, no para almacenamiento de contraseñas.
¿Debo usar SHA-256 para hashear contraseñas?
No. SHA-256 y otras funciones hash de propósito general son intencionalmente rápidas, lo que hace que los ataques de fuerza bruta sean trivialmente factibles en hardware moderno (miles de millones de hashes por segundo). Para contraseñas, use algoritmos de hashing lento dedicados: bcrypt (el más ampliamente soportado), Argon2id (mejor práctica moderna, ganador de la Competición de Hashing de Contraseñas) o scrypt. Estos están diseñados para ser computacionalmente costosos e incluyen salting incorporado para derrotar ataques de tablas rainbow.
Herramientas Relacionadas para Desarrolladores
- Codificador y Decodificador Base64 — codifique y decodifique cadenas Base64 al instante en su navegador
- Decodificador e Inspector JWT — decodifique JSON Web Tokens e inspeccione claims del lado del cliente
- Inspector de Archivos ENV — valide archivos .env y detecte claves de API y secretos expuestos
- Codificador y Decodificador URL — codifique y decodifique cadenas URL y parámetros de consulta con percent-encoding