Publicidad
Texto de entrada
MD5
SHA-1
SHA-256
Publicidad

Preguntas frecuentes

¿Qué es una función hash?

Una función hash es un algoritmo determinista que transforma una entrada de longitud arbitraria en una salida de longitud fija llamada resumen o hash. La misma entrada siempre produce el mismo hash, pero incluso un cambio minúsculo en la entrada, como cambiar un solo bit, produce un hash completamente diferente. Esta propiedad, conocida como efecto avalancha, hace que las funciones hash sean útiles para verificar la integridad de los datos: si hasheas un archivo antes y después de transferirlo y los hashes coinciden, el archivo llegó sin cambios.

MD5 vs SHA-1 vs SHA-256 — ¿cuál debo usar?

MD5 produce un resumen de 128 bits (32 caracteres hexadecimales) y es muy rápido, pero está criptográficamente roto: existen ataques de colisión que pueden generar dos entradas diferentes con el mismo hash MD5. No debe usarse para propósitos de seguridad, pero sigue siendo aceptable para sumas de verificación y huellas digitales sin fines de seguridad. SHA-1 produce un resumen de 160 bits (40 caracteres hexadecimales); también se considera débil para aplicaciones críticas de seguridad desde 2017, cuando Google demostró una colisión práctica. SHA-256 es parte de la familia SHA-2, produce un resumen de 256 bits (64 caracteres hexadecimales) y sigue siendo seguro y ampliamente recomendado para contraseñas (combinado con una sal), firmas digitales y verificación de integridad de datos.

¿Son estos hashes reversibles?

No. MD5, SHA-1 y SHA-256 son funciones unidireccionales: dado un hash, no existe ningún algoritmo matemático que pueda reconstruir la entrada original. Esta irreversibilidad es una propiedad fundamental de diseño. Lo que los atacantes pueden hacer en cambio es intentar ataques de tabla arcoíris (tablas precalculadas de pares hash→entrada) o fuerza bruta de todas las posibles entradas y comparar. Por eso las contraseñas siempre deben hashearse con un algoritmo lento y con sal como bcrypt, scrypt o Argon2, en lugar de hashes de uso general rápidos como SHA-256.