Hash Generator
Genera hashes MD5, SHA-1, SHA-256 y SHA-512 al instante.
¿Qué es un Hash y cómo funciona?
Una función hash es un algoritmo matemático que transforma datos de cualquier tamaño en una cadena de longitud fija llamada "digest" o "hash". La misma entrada siempre produce el mismo hash, pero es computacionalmente imposible revertir el proceso para obtener el texto original. Incluso un cambio mínimo en la entrada (como cambiar una sola letra) produce un hash completamente diferente, propiedad conocida como "efecto avalancha".
Los hashes son fundamentales en seguridad informática: se usan para verificar la integridad de archivos descargados, almacenar contraseñas de forma segura (sin guardar el texto plano), generar firmas digitales y en tecnologías como blockchain y Git.
Casos de uso prácticos
Verificación de archivos: Al descargar un software, compara el hash SHA-256 publicado por el autor con el hash del archivo descargado para confirmar que no ha sido modificado.
Almacenamiento de contraseñas: Las bases de datos modernas nunca guardan contraseñas en texto plano. Usan funciones hash con sal (bcrypt, Argon2) para que, incluso si la BD se filtra, las contraseñas originales permanezcan seguras.
Control de versiones: Git usa SHA-1 para identificar cada commit, archivo y rama. Cada cambio genera un hash único que permite rastrear el historial completo.
Preguntas frecuentes
¿MD5 es seguro para contraseñas?
No. MD5 se considera criptográficamente roto desde 2004. Existen colisiones conocidas y se puede crackear en segundos con hardware moderno. Para contraseñas usa bcrypt, Argon2 o scrypt. MD5 solo es útil para verificación de integridad no crítica.
¿Qué es una colisión de hash?
Una colisión ocurre cuando dos entradas diferentes producen el mismo hash. SHA-256 tiene 2^256 posibles valores, haciendo las colisiones prácticamente imposibles. MD5 (2^128) y SHA-1 (2^160) tienen colisiones demostradas y no deben usarse para seguridad.
¿Se puede descifrar un hash?
Técnicamente no, ya que las funciones hash son unidireccionales. Sin embargo, existen ataques de diccionario y rainbow tables que pueden encontrar la entrada original si es una contraseña común. Por eso se añade "sal" (datos aleatorios) antes de hashear.
¿Qué algoritmo debo usar?
Para verificación de integridad: SHA-256. Para contraseñas: bcrypt o Argon2. Para firmas digitales: SHA-256 o SHA-512 con RSA/ECDSA. Evita MD5 y SHA-1 para cualquier propósito de seguridad.
Comparación de algoritmos
| Algoritmo | Longitud | Seguridad | Velocidad |
|---|---|---|---|
| MD5 | 128 bits | Inseguro | Muy rápido |
| SHA-1 | 160 bits | Inseguro | Rápido |
| SHA-256 | 256 bits | Seguro | Moderado |
| SHA-512 | 512 bits | Muy seguro | Moderado |