Una función hash convierte cualquier entrada (una palabra, un documento, una imagen de disco de 4 GB) en una huella digital corta y de longitud fija. Esta herramienta calcula algoritmos comunes (CRC-32, MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, Keccak-256) y crea HMAC, todo en su navegador. Esta guía explica para qué sirven los hashes, cuáles son seguros en 2026 y la diferencia entre hash, cifrado y almacenamiento de contraseñas.
What hashes are actually for
Hashing tiene dos trabajos cotidianos: integridad y identificación. Cuando descarga software y compara su SHA-256 con el valor publicado por el editor, está confirmando que los bytes llegaron intactos. Cuando una confirmación de Git, una caché dirigida a contenido o un sistema de deduplicación necesitan una identificación corta y estable para un blob de datos, un hash la proporciona. La propiedad definitoria es el determinismo: la misma entrada siempre produce el mismo resumen, y cualquier cambio (un bit invertido) produce uno completamente diferente (el efecto de avalancha se puede observar en la huella digital de arriba).
Which algorithms are safe in 2026
CRC-32 es para detección de errores (por ejemplo, archivos ZIP), no para seguridad. MD5 (1991) y SHA-1 (1995) están criptográficamente rotos: los investigadores han producido colisiones reales (dos archivos diferentes con el mismo hash), por lo que nunca deben usarse donde un atacante podría beneficiarse al falsificar una coincidencia: firmas, certificados, detección de manipulación. Siguen siendo válidos para sumas de verificación no contradictorias, como detectar daños accidentales o deduplicar archivos.
La familia SHA-2 (SHA-256, SHA-384, SHA-512) y SHA-3 / Keccak-256 no tiene colisiones prácticas conocidas y es el valor predeterminado adecuado para cualquier cosa sensible a la seguridad. SHA-512 suele ser más rápido que SHA-256 en hardware de 64 bits, por lo que "más grande" no significa "más lento" aquí.
Hashing is not encryption — and not password storage
El cifrado es reversible con una clave; El hashing es unidireccional por diseño, por lo que no hay "unhash". Eso hace que los hashes sean inútiles para la confidencialidad, pero ideales para la verificación.
Las contraseñas son un caso especial. Los hashes rápidos sin procesar (incluso SHA-256) son una mala elección porque su velocidad permite a los atacantes probar miles de millones de conjeturas por segundo en una base de datos robada. El almacenamiento de contraseñas moderno utiliza una función de derivación de claves (bcrypt, scrypt o Argon2) que es deliberadamente lenta y agrega una sal por usuario. Si está codificando contraseñas, busque una de ellas, no los algoritmos de esta herramienta.
HMAC: proving who sent a message
Un hash simple demuestra que un mensaje no fue modificado, pero cualquiera puede volver a calcularlo, por lo que no puede probar que quién envió el mensaje. Un HMAC soluciona este problema al incorporar una clave secreta compartida en el hash. El remitente calcula HMAC(clave, mensaje) y lo adjunta; el receptor lo recalcula con la misma clave. Una coincidencia demuestra integridad y autenticidad. Este es el mecanismo detrás de las firmas de webhooks (Stripe, GitHub, Slack), la firma de solicitudes de AWS y los tokens JWT 'HS256'. Utilice una clave aleatoria larga y compare los HMAC con una verificación de tiempo constante en el lado del servidor.