BrowserTools
Publicidad
Inicio / Codificadores / Generador de Hash (SHA-1, SHA-256, SHA-384, SHA-512)

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

Entrada hello
Salida 5d41402abc4b2a76b9719d911017c592

MD5 (128 bits). Rápido, pero roto para la seguridad; úsalo solo para sumas de comprobación.

Entrada hello
Salida aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

SHA-1 (160 bits). Obsoleto para firmas.

Entrada hello
Salida 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

SHA-256 (256 bits). El valor predeterminado de propósito general actual.

Preguntas frecuentes

¿Se suben mis datos a un servidor?
No. Todo el cálculo de hash se realiza localmente en tu navegador usando la API Web Crypto, integrada en todos los navegadores modernos y que se ejecuta enteramente en tu dispositivo. Tu texto y tus archivos nunca se transmiten por la red, lo que hace seguro usar esta herramienta con entradas sensibles o confidenciales.
¿Cuál es la diferencia entre SHA-256, SHA-384 y SHA-512?
Las tres forman parte de la familia SHA-2 y se consideran criptográficamente seguras. Los números se refieren al tamaño de salida en bits: SHA-256 produce un resumen hexadecimal de 64 caracteres, SHA-384 produce 96 caracteres y SHA-512 produce 128 caracteres. SHA-256 es el más usado; SHA-384 y SHA-512 ofrecen márgenes de seguridad mayores y pueden ser exigidos por estándares de cumplimiento específicos o protocolos como las suites de cifrado de TLS 1.3.
¿Cuándo usaría un hash en un proyecto real?
Los usos comunes incluyen generar sumas de comprobación para verificar la integridad de archivos (distribuir un hash SHA-256 junto a una descarga), construir sistemas de almacenamiento direccionable por contenido (como Git), crear claves de caché a partir de parámetros de petición, calcular códigos de autenticación de mensajes HMAC e implementar la deduplicación de datos comparando hashes en lugar del contenido completo de los archivos.
¿Por qué no está disponible MD5?
MD5 está criptográficamente roto: los ataques de colisión prácticos se conocen públicamente desde 2004, lo que significa que pueden crearse deliberadamente dos entradas distintas que produzcan el mismo hash MD5. Por esta razón, la API Web Crypto no expone MD5. Si necesitas verificar una suma de comprobación MD5 de un sistema heredado, usa SHA-256 para cualquier nueva suma que generes: es igual de rápido y muchísimo más seguro.
¿Puedo aplicar hash a un archivo, y hay un límite de tamaño?
Sí. Usa la entrada de archivo para seleccionar cualquier archivo; se lee localmente mediante la API FileReader, se convierte en un ArrayBuffer y se pasa directamente a la API Web Crypto para el cálculo del hash. La herramienta no impone un límite de tamaño fijo, pero los archivos muy grandes (varios gigabytes) consumirán mucha memoria y tardarán un tiempo perceptible. Para el cálculo de hash de archivos en producción, las utilidades de línea de comandos como sha256sum en Linux/macOS o Get-FileHash en PowerShell son más adecuadas.
¿Funciona la herramienta sin conexión?
Sí. Una vez cargada la página, la herramienta funciona enteramente sin conexión. La API Web Crypto es una característica nativa del navegador que no requiere ninguna biblioteca ni servicio externo. Puedes guardar la página en favoritos y usarla sin conexión a internet siempre que la página esté en caché.
¿Puedo usar la salida del hash directamente como contraseña o clave de API?
Un hash SHA-256 de un valor aleatorio fuerte es una clave de API o un token de sesión razonable, pero nunca deberías aplicar hash a una contraseña proporcionada por el usuario con una función SHA simple. SHA-256 es extremadamente rápido (miles de millones de hashes por segundo en hardware moderno), lo que hace trivial forzar por fuerza bruta contraseñas adivinables. Para las contraseñas, usa siempre una función de derivación de claves lenta (bcrypt, scrypt o Argon2) diseñada específicamente para resistir los ataques de fuerza bruta.
¿Sigue siendo seguro usar SHA-1?
SHA-1 está roto en cuanto a resistencia a colisiones: el ataque SHAttered (2017) demostró la primera colisión práctica de SHA-1, y en 2020 se publicó un ataque de colisión de prefijo elegido. SHA-1 no debería usarse en ninguna nueva aplicación de seguridad. Sigue siendo aceptable para usos no relacionados con la seguridad, como sumas de comprobación donde no se requiere resistencia a colisiones, pero SHA-256 es una mejor opción incluso ahí, ya que tiene el mismo rendimiento en hardware moderno.
¿En qué formato está la salida del hash, y puedo convertirla a Base64?
La herramienta produce los hashes en hexadecimal en minúsculas (0-9, a-f), que es el formato más común y legible. Algunos sistemas, en particular JWT y la autenticación HTTP Digest, esperan el hash codificado en Base64. Puedes copiar la salida hexadecimal en el codificador Base64 de este sitio tras convertir el hexadecimal a binario, o usar una biblioteca de tu lenguaje de programación para obtener los bytes en crudo y codificarlos en Base64 directamente.
¿Qué es una 'colisión de hash' y por qué importa?
Una colisión ocurre cuando dos entradas distintas producen la misma salida de hash. Como las funciones hash mapean un espacio de entrada infinito a una salida de tamaño fijo, las colisiones deben existir matemáticamente, pero en una buena función hash deberían ser imposibles de encontrar en la práctica. Cuando las colisiones pueden diseñarse deliberadamente (como con MD5 y SHA-1), un atacante podría sustituir un archivo legítimo por uno malicioso manteniendo el mismo hash, socavando las comprobaciones de integridad y las firmas digitales.

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.

Publicidad
Publicidad
Publicidad