Generador de Hash (SHA-1, SHA-256, SHA-384, SHA-512)
Calcula hashes criptográficos de texto o archivos localmente: SHA-1, SHA-256, SHA-384 y SHA-512.
Cargando Generador de Hash (SHA-1, SHA-256, SHA-384, SHA-512)… Si no ocurre nada, activa JavaScript.
Una función hash criptográfica es un algoritmo matemático que toma una entrada de longitud arbitraria y produce una salida de tamaño fijo, el hash o resumen, que parece aleatoria pero es completamente determinista. La misma entrada produce siempre el mismo hash, pero cambiar aunque sea un solo bit de la entrada produce un resumen completamente distinto (el efecto avalancha). Esta propiedad de un solo sentido significa que es computacionalmente inviable revertir un hash a su entrada original, lo que convierte a las funciones hash en un pilar de la seguridad informática. La familia SHA (Secure Hash Algorithm) fue diseñada por la Agencia de Seguridad Nacional y estandarizada por el NIST: SHA-1 en 1995, SHA-256/384/512 (en conjunto SHA-2) en 2001.
Ejemplos
hello
5d41402abc4b2a76b9719d911017c592
MD5 (128 bits). Rápido, pero roto para la seguridad; úsalo solo para sumas de comprobación.
hello
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-1 (160 bits). Obsoleto para firmas.
hello
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256 (256 bits). El valor predeterminado de propósito general actual.
Preguntas frecuentes
¿Se suben mis datos a un servidor?
¿Cuál es la diferencia entre SHA-256, SHA-384 y SHA-512?
¿Cuándo usaría un hash en un proyecto real?
¿Por qué no está disponible MD5?
¿Puedo aplicar hash a un archivo, y hay un límite de tamaño?
¿Funciona la herramienta sin conexión?
¿Puedo usar la salida del hash directamente como contraseña o clave de API?
¿Sigue siendo seguro usar SHA-1?
¿En qué formato está la salida del hash, y puedo convertirla a Base64?
¿Qué es una 'colisión de hash' y por qué importa?
Acerca de Generador de Hash (SHA-1, SHA-256, SHA-384, SHA-512)
Las funciones hash se usan en todas partes en el software moderno. Los sistemas de almacenamiento de contraseñas aplican hash a las contraseñas de los usuarios con una sal adicional, de modo que, aunque roben la base de datos, las contraseñas en claro permanecen desconocidas. Las herramientas de integridad de archivos distribuyen sumas de comprobación SHA-256 junto a las descargas para que los usuarios verifiquen que un archivo no ha sido manipulado en tránsito. Git usa SHA-1 (y está migrando a SHA-256) para direccionar cada commit, árbol y blob de un repositorio. Los certificados digitales, los apretones de manos TLS, los tokens de autenticación HMAC y las cadenas de firma de código dependen todos de hashes SHA-2. Las redes de distribución de contenido usan hashes para las claves de caché, y las cadenas de bloques los usan para la prueba de trabajo.
Esta herramienta calcula hashes SHA-1, SHA-256, SHA-384 y SHA-512 directamente en tu navegador usando la API Web Crypto, una interfaz nativa del navegador respaldada por la biblioteca criptográfica del sistema operativo. Como todo el cálculo ocurre en tu dispositivo, tu texto o archivo de entrada nunca se sube a ningún servidor, lo que hace seguro usar la herramienta con documentos confidenciales, credenciales de producción o claves privadas. Los resultados se muestran en hexadecimal en minúsculas, el formato más común, y pueden copiarse con un solo clic.
Elegir el algoritmo correcto importa. SHA-1 se considera criptográficamente roto en cuanto a resistencia a colisiones (pueden diseñarse dos entradas distintas que produzcan el mismo hash SHA-1) y solo debería usarse para interoperabilidad heredada, no para nuevas aplicaciones de seguridad. SHA-256 es el estándar de trabajo actual, ampliamente compatible y apropiado para la inmensa mayoría de los casos. SHA-384 y SHA-512 ofrecen tamaños de salida mayores (y márgenes de seguridad algo más fuertes) a costa de resúmenes algo más grandes. Si necesitas aplicar hash a contraseñas en concreto, usa en su lugar una función de hash de contraseñas específica como bcrypt, scrypt o Argon2: los hashes criptográficos como SHA-256 son intencionadamente rápidos, lo que los hace malas opciones para almacenar contraseñas.
La historia de SHA: de orígenes clasificados a estándar global
La familia Secure Hash Algorithm fue desarrollada por la Agencia de Seguridad Nacional (NSA) de Estados Unidos y estandarizada por el Instituto Nacional de Estándares y Tecnología (NIST). El SHA original (llamado retroactivamente SHA-0) se publicó en 1993, pero la NSA lo retiró menos de un año después, citando oficialmente un fallo, aunque la naturaleza de ese fallo estaba clasificada. SHA-1, su sucesor, se publicó en 1995 y se convirtió en uno de los algoritmos criptográficos más desplegados de la historia, incrustado en todo, desde certificados SSL hasta repositorios Git.
La familia SHA-2 (SHA-256, SHA-384, SHA-512) se publicó en 2001, pero su adopción fue lenta porque SHA-1 todavía se consideraba seguro en aquel momento. Hizo falta la ruptura teórica de SHA-1 por el equipo de Wang Xiaoyun en 2005, y el ataque de colisión práctico SHAttered en 2017, para empujar por fin a la industria hacia SHA-2. El NIST también ha estandarizado SHA-3 (2015), que se basa en una estructura interna completamente distinta (la construcción de esponja Keccak) y sirve de respaldo por si se encuentra una debilidad fundamental en SHA-2.
Un detalle fascinante: la salida de SHA-256 es exactamente de 256 bits, un número tan astronómicamente grande (unos 10^77) que la cantidad de hashes SHA-256 posibles supera el número estimado de átomos del universo observable. Por eso, incluso con toda la potencia de cálculo del mundo trabajando junta, encontrar una entrada concreta de SHA-256 solo a partir de su hash se considera prácticamente imposible en el futuro previsible.