¿Qué es un hash? MD5, SHA-256 y cuándo realmente necesitas HMAC
Las funciones hash convierten cualquier entrada en una huella digital de longitud fija, pero no todos los hash son iguales. Elegir entre MD5, SHA-256 y HMAC significa la diferencia entre una verificación de seguridad que funciona y una que falla silenciosamente. Esta guía explica qué hace cada uno, cuándo usarlo y cómo verificar sus propios hashes directamente en su navegador.
¿Qué es una función hash?
Una función hash toma cualquier cantidad de datos (texto, un archivo, una contraseña) y produce una cadena de caracteres de longitud fija. La misma entrada siempre produce la misma salida, lo que hace que los hashes sean útiles para la verificación. Cambie incluso un carácter en la entrada y el hash cambiará por completo. Esta propiedad unidireccional (no se puede revertir un hash para recuperar los datos originales) es lo que la hace útil para la seguridad.
MD5: rápido pero roto
MD5 produce un hash de 128 bits y alguna vez fue el estándar para sumas de verificación y verificación de archivos. Hoy en día está criptográficamente roto: las colisiones (dos entradas diferentes que producen el mismo hash) se encuentran rápidamente. MD5 todavía aparece en sistemas heredados y para sumas de verificación no relacionadas con la seguridad, pero nunca para autenticación o contraseñas. Utilice el generador de hash para ver la salida MD5, pero busque SHA-256 para cualquier cosa que importe.
SHA-256: el estándar actual
SHA-256 (parte de la familia SHA-2) produce un hash de 256 bits y es la opción moderna para el trabajo criptográfico. Es lo suficientemente rápido para la mayoría de las aplicaciones, resistente a ataques conocidos y ampliamente compatible. veras SHA-256 utilizado en sistemas blockchain, huellas dactilares de certificados y hash de contraseñas. El generador de hash admite SHA-256 como algoritmo predeterminado.
HMAC: cuando necesitas un secreto
Una función hash simple es determinista: cualquiera puede verificar el hash. Un HMAC (Código de autenticación de mensajes basado en hash) se mezcla en una clave secreta, por lo que solo alguien que conoce la clave puede producir el hash correcto. Esto es esencial para las API: el servidor y el cliente comparten un secreto, cada uno firma sus mensajes con él y el destinatario verifica que la firma coincida. Esto prueba que el mensaje provino del remitente reclamado y no ha sido manipulado. El generador HMAC te permite probar esto con tu propia clave secreta.
Cuándo utilizar cada enfoque
- usar simple
SHA-256para comprobaciones de integridad de archivos, hash de contraseñas (con salt y una función lenta como bcrypt) y huellas digitales públicas. - Usar
HMACpara firma de solicitudes de API, verificación de webhooks y cualquier escenario en el que ambas partes compartan un secreto. - Saltar
MD5para cualquier cosa relacionada con la seguridad. Úselo sólo cuando interactúe con sistemas heredados que lo requieran.
Tus datos permanecen en tu dispositivo
Tanto el generador de hash y generador HMAC ejecutarse completamente en su navegador. Su texto nunca se envía a un servidor: se procesa localmente en su dispositivo, funciona sin conexión después de que se carga la página y no requiere cuenta ni inicio de sesión. Esto significa que puede codificar de forma segura información confidencial, como claves API, para realizar pruebas sin exponerlas a Internet.
Bonificación: medir la entropía
Si está generando secretos o contraseñas, el Entropía de Shannon La calculadora muestra cuánta aleatoriedad (y por lo tanto seguridad) hay en una cadena. Una entropía más alta significa que es más difícil de adivinar. Úselo para verificar que los secretos generados sean realmente aleatorios antes de implementarlos.