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

AlgoritmoLongitudSeguridadVelocidad
MD5128 bitsInseguroMuy rápido
SHA-1160 bitsInseguroRápido
SHA-256256 bitsSeguroModerado
SHA-512512 bitsMuy seguroModerado