Generador de Hash SHA-3 (Keccak SHA3-256)
Genera hashes SHA-3 online gratis. Construcción de esponja NIST FIPS 202 — el estándar posterior a SHA-2. Salida SHA3-256 en 64 caracteres hex. Solo en navegador vía js-sha3; sin subidas.
¿Qué es SHA-3?
SHA-3 (Secure Hash Algorithm 3) es la tercera generación del Estándar de Hash Seguro del NIST, estandarizado en FIPS 202 en agosto de 2015. A diferencia de SHA-1 y SHA-2, que se basan en la construcción Merkle-Damgård, SHA-3 usa un diseño radicalmente diferente llamado construcción de esponja — una elección que el NIST hizo deliberadamente para garantizar que una vulnerabilidad criptográfica en SHA-2 no comprometiera automáticamente a SHA-3.
La competición SHA-3 del NIST (2007-2012): El NIST solicitó propuestas públicas de todo el mundo en 2007. Tras tres rondas de evaluación, 64 candidatos se redujeron a cinco finalistas: BLAKE, Grøstl, JH, Keccak y Skein. En octubre de 2012, Keccak — diseñado por Guido Bertoni, Joan Daemen, Michaël Peeters y Gilles Van Assche de STMicroelectronics y NXP Semiconductors — fue seleccionado como ganador. Los cinco finalistas se consideraron seguros; el diseño único basado en esponja de Keccak le dio la diversidad estructural que el NIST priorizó.
La construcción de esponja: SHA-3 absorbe la entrada en un estado de 1600 bits (la permutación Keccak-f[1600]) en la fase de absorción, y luego exprime los bits de salida del estado en la fase de exprimido. Para SHA3-256, la división tasa/capacidad es de 1088/512 bits. Como solo 256 de los 1600 bits del estado interno aparecen en la salida, un atacante no puede reconstruir el estado completo a partir del hash — haciendo que los ataques de extensión de longitud sean estructuralmente imposibles. Esto contrasta con SHA-256, donde el estado interno completo queda expuesto en la salida, requiriendo HMAC para prevenir la extensión de longitud.
SHA-3 vs. Keccak — la diferencia de relleno: El NIST modificó la propuesta original de Keccak cambiando el relleno de separación de dominio de 0x01 a 0x06. Esto significa que el NIST SHA3-256 y el Keccak-256 original producen salidas de 64 caracteres hex diferentes para cada entrada. Esta no es una preocupación teórica — es la razón por la que el keccak256 de Ethereum (congelado antes de que se finalizara FIPS 202) difiere de la salida SHA3-256 de esta herramienta para la misma cadena. Nunca uses esta herramienta para replicar la derivación de direcciones de Ethereum.
FIPS 202 define cuatro variantes SHA-3: SHA3-224 (56 caracteres hex), SHA3-256 (64 caracteres hex), SHA3-384 (96 caracteres hex), SHA3-512 (128 caracteres hex). Esta herramienta implementa SHA3-256, la variante más común y la más directamente comparable con SHA-256.
Nota sobre la biblioteca: SHA-3 todavía no está en la especificación Web Crypto API del navegador (crypto.subtle solo soporta SHA-1, SHA-256, SHA-384, SHA-512). Esta herramienta carga de forma diferida la biblioteca JavaScript js-sha3 (~10 KB comprimida) en el primer uso. Tras esa única descarga, todo el cómputo se ejecuta localmente en tu navegador — no se transmite ningún dato de entrada.
Cuándo usar SHA-3: nuevos protocolos que requieren diversidad estructural respecto a SHA-2; MACs con clave sin el envoltorio HMAC (KMAC128/256 según NIST SP 800-185); cobertura poscuántica como respaldo de SHA-2; conformidad con sistemas que exigen FIPS 202. Cuándo seguir con SHA-256: soporte universal de bibliotecas, aceleración hardware (extensiones SHA-NI), compatibilidad con protocolos existentes y la mayoría de los casos de uso de integridad cotidiana donde SHA-256 es ya el estándar establecido.
// SHA-3 (NIST FIPS 202 SHA3-256) using js-sha3 library
import { sha3_256 } from 'js-sha3';
const hash = sha3_256('Hello, World!');
// → '882f4b6991a775295186a4e3cc5ece9fc0b618c8c3e7a7beafdd0f56f13ae43b'
// Note: this differs from Ethereum's keccak256 for the same input:
// keccak256('Hello, World!') = 'acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f'
// The difference is the padding byte: 0x06 (SHA-3) vs 0x01 (original Keccak) Ejemplos de SHA-3
Verificar el vector de prueba NIST FIPS 202
abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — este es el vector de prueba oficial NIST FIPS 202. Pega "abc" en la herramienta y confirma esta salida exacta para verificar que estás calculando NIST SHA-3 (no el Keccak original). Esta única prueba distingue una implementación SHA-3 conforme con FIPS de una que usa el byte de relleno Keccak más antiguo.
Distinción Keccak vs SHA-3 — misma entrada, salida diferente
Hello
SHA3-256("Hello") de esta herramienta (NIST FIPS 202) = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500. El keccak256("Hello") de Ethereum = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2. Misma entrada, diferentes salidas de 64 caracteres hex. La diferencia es el sufijo de relleno: NIST SHA-3 usa 0x06 mientras que el Keccak original (el que Ethereum congeló en 2013) usa 0x01. Ethereum es anterior a la estandarización del NIST en 2015 y se bifurcó permanentemente de la variante FIPS 202.
Hash de archivo post-cuántico
NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management
SHA3-256 proporciona 128 bits de resistencia a preimagen frente al algoritmo de Grover en un ordenador cuántico — el mismo nivel de seguridad efectivo que SHA-256 frente a un ataque cuántico. Para datos que deben seguir siendo resistentes a manipulaciones más allá de 2050, usar SHA-3 junto a SHA-256 proporciona defensa en profundidad: si se encuentra una vulnerabilidad en la construcción de un algoritmo (Merkle-Damgård para SHA-2; esponja Keccak para SHA-3), el otro sigue siendo seguro. Los archivos institucionales y los documentos gubernamentales utilizan cada vez más manifiestos de doble hash (SHA-256 + SHA3-256) como precaución. Ver también el Generador SHA-256 para el lado SHA-2 de esta precaución.
Autenticación de mensajes con clave HMAC-SHA3-256
POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"} HMAC-SHA3-256 es una alternativa moderna a HMAC-SHA-256 para autenticación de mensajes con clave. Dado que la construcción de esponja de SHA-3 es nativamente resistente a ataques de extensión de longitud (la fase de exprimido descarta el estado interno), un MAC con clave SHA3-256 puro (KMAC, definido en NIST SP 800-185) también es seguro — a diferencia de SHA-256 puro, que requiere el envoltorio HMAC para defenderse contra la extensión de longitud. Para nuevas APIs de alta seguridad y sistemas financieros, HMAC-SHA3-256 (o KMAC128) proporciona garantías arquitectónicas más sólidas que HMAC-SHA-256. Pega aquí un cuerpo de solicitud canónico para inspeccionar la huella SHA3-256 antes de aplicar HMAC.
Cómo generar hashes SHA-3
- 1
Pega texto en el campo de entrada
Selecciona la pestaña Texto y escribe o pega cualquier cadena. El hash SHA3-256 se actualiza en directo mientras escribes. En el primer uso, la biblioteca js-sha3 (~10 KB) se descarga y se almacena en caché — puedes notar un breve retraso en el primer hash; todos los hashes posteriores son instantáneos. El algoritmo ya está establecido en SHA-3 (NIST FIPS 202 SHA3-256).
- 2
Copia la salida hexadecimal de 64 caracteres
Haz clic en el botón Copiar junto al resultado del hash. La cadena hexadecimal de 64 caracteres en minúsculas se copia a tu portapapeles. Usa la opción Mayúsculas si tu sistema de destino lo requiere. Esta salida coincide con lo que produce cualquier implementación SHA3-256 conforme con FIPS 202 — pero ten en cuenta que difiere del keccak256 de Ethereum para la misma entrada.
- 3
Verifica con la pestaña Comparar
Cambia a la pestaña Comparar y pega dos hashes SHA3-256 lado a lado. La herramienta usa comparación en tiempo constante para informar coincidencia o discrepancia sin filtrar información de temporización. Útil para verificar vectores de prueba NIST CAVP, comprobar manifiestos de archivos o confirmar que dos implementaciones SHA3-256 producen una salida idéntica.
Detalles técnicos
- Algoritmo: construcción de esponja Keccak-f[1600]
- SHA3-256 aplica la permutación Keccak-f[1600] (24 rondas de operaciones theta, rho, pi, chi, iota sobre un arreglo de estado 5×5×64) en una construcción de esponja con tasa=1088 bits y capacidad=512 bits. La entrada se absorbe en bloques de 136 bytes (1088 bits); se exprimen 256 bits de salida. El separador de dominio FIPS 202 añade 0x06 antes del relleno. Implementación: NIST FIPS 202 (2015), sección 6.
- Salida: SHA3-256 por defecto, 64 caracteres hex (FIPS 202 también define 224/384/512)
- Esta herramienta emite SHA3-256: siempre exactamente 64 caracteres hexadecimales (256 bits = 32 bytes). El NIST FIPS 202 también estandariza SHA3-224 (56 caracteres), SHA3-384 (96 caracteres) y SHA3-512 (128 caracteres) — todos usando la misma permutación Keccak-f[1600] con diferentes divisiones tasa/capacidad. La longitud de salida es fija independientemente del tamaño de la entrada.
- Rendimiento: js-sha3 cargada de forma diferida (~10 KB); ~150-400 MB/s en navegador
- A diferencia de las rutas SHA-2 (que usan la Web Crypto API nativa del navegador), SHA-3 no está en la especificación Web Crypto. Esta herramienta carga la biblioteca js-sha3 (~10 KB comprimida) en el primer uso, luego la almacena en caché. Rendimiento típico: 150-400 MB/s en JavaScript, frente a 400-700 MB/s para SHA-256 mediante Web Crypto. Para hasheo de texto (kilobytes) la diferencia es imperceptible. El bundle principal para otras rutas SHA no se ve afectado por esta carga diferida.
- Estándares: NIST FIPS 202 (2015), NIST SP 800-185 (KMAC), NIST IR 8105
- Estandarizado en FIPS 202 (agosto de 2015). NIST SP 800-185 (2016) define KMAC128 y KMAC256 — funciones MAC con clave basadas en SHA-3 que son nativamente inmunes a extensión de longitud sin el envoltorio HMAC. NIST IR 8105 recomienda variantes SHA-3 para margen de seguridad poscuántico. Actualmente aprobado para todos los niveles de seguridad hasta 2030 y más allá según NIST SP 800-131A Rev 2.
Buenas prácticas
- No confundas SHA3-256 con el keccak256 de Ethereum
- Son algoritmos diferentes con salidas distintas para cada entrada. Esta herramienta calcula NIST FIPS 202 SHA3-256 (byte de relleno 0x06). El
keccak256de Ethereum usa el relleno original de Keccak (0x01). Si estás calculando hashes de direcciones de Ethereum, slots de almacenamiento de la EVM o resultados de keccak256() de Solidity, necesitas una herramienta específica de keccak256 — esta herramienta te dará respuestas incorrectas para esos casos de uso. - Usa SHA-3 como complemento de SHA-256, no como reemplazo
- SHA-3 y SHA-2 usan diseños estructuralmente diferentes (esponja vs. Merkle-Damgård). Un manifiesto de doble hash (SHA-256 + SHA3-256) proporciona defensa en profundidad: si alguna vez se encuentra una vulnerabilidad en la construcción de una familia, la otra sigue siendo segura. Para datos de archivo a largo plazo y registros gubernamentales, el NIST recomienda considerar este enfoque de doble algoritmo. Para uso cotidiano, SHA-256 solo sigue siendo completamente suficiente.
- Prefiere KMAC sobre HMAC-SHA3-256 para nuevos diseños MAC con clave
- NIST SP 800-185 define KMAC128 y KMAC256 — MACs con clave de propósito específico basados en SHA-3. Como la construcción de esponja es nativamente inmune a extensión de longitud, KMAC no necesita el envoltorio de doble hasheo que HMAC requiere por seguridad. Para nuevos protocolos con flexibilidad en la elección del algoritmo MAC, KMAC128 (seguridad de 128 bits) o KMAC256 (seguridad de 256 bits) son más limpios y ligeramente más eficientes que HMAC-SHA3-256.
- Usa comparación en tiempo constante al verificar hashes SHA-3 en código
- Al comparar dos hashes SHA3-256 en código, usa siempre una función de igualdad en tiempo constante: Node.js
crypto.timingSafeEqual(), Pythonhmac.compare_digest(), Gosubtle.ConstantTimeCompare(). La igualdad de cadenas simple (=== o ==) filtra información de temporización que puede permitir a un atacante reconstruir el hash esperado byte a byte. Esto se aplica igualmente a SHA-3 y a todas las demás funciones de hash. La pestaña Comparar de esta herramienta ya usa comparación en tiempo constante.
Preguntas frecuentes sobre SHA-3
¿Es SHA-3 lo mismo que Keccak?
0x01 antes del relleno; el NIST SHA-3 (FIPS 202, 2015) añade 0x06. Esta diferencia de un solo byte significa que SHA3-256 y Keccak-256 producen salidas de 64 caracteres diferentes para cada entrada. Los algoritmos son estructuralmente idénticos en todo lo demás — misma permutación Keccak-f[1600], misma construcción de esponja. Cuando alguien dice "Keccak" en el contexto de Ethereum/blockchain, casi siempre se refiere a la variante de relleno original pre-FIPS, no al NIST SHA-3. ¿Por qué Ethereum usa keccak256 y no SHA-3?
keccak256 de Ethereum usa el relleno Keccak original (0x01), mientras que el SHA3-256 de esta herramienta usa el relleno NIST FIPS 202 (0x06). Mismo algoritmo estructural, salidas diferentes. Nunca uses esta herramienta para replicar la derivación de direcciones de Ethereum o el keccak256 de la EVM — obtendrás resultados incorrectos. ¿Qué es la construcción de esponja?
¿Debo usar SHA-3 en lugar de SHA-2?
¿Es SHA-3 más rápido que SHA-256?
¿Qué longitud tiene un hash SHA-3 de esta herramienta?
¿Es SHA-3 resistente a la computación cuántica?
¿Se envían mis datos a un servidor al usar esta herramienta?
js-sha3 se descarga una vez desde un CDN, ~10 KB), todo el hasheo se ejecuta completamente en tu navegador en JavaScript. Abre DevTools → pestaña Red mientras hasheas texto — verás cero peticiones salientes que lleven tus datos de entrada. A diferencia de las herramientas SHA-2 de este sitio (que usan la Web Crypto API integrada del navegador), SHA-3 todavía no está en la especificación Web Crypto, por lo que se requiere una biblioteca JavaScript. La descarga de la biblioteca es la única petición de red; tu texto nunca sale de la página. Ver también: el generador SHA-256 y el generador MD5 no usan ninguna biblioteca externa. ¿Qué fue la competición SHA-3 del NIST?
¿Es SHA-3 vulnerable a ataques de extensión de longitud?
Herramientas relacionadas
Ver todas las herramientas →Decodificador JWT
Herramientas de Seguridad
Decodifica tokens JWT online con nuestro decodificador JWT gratis. Inspecciona encabezado, carga útil, firma, expiración y reclamaciones al instante. 100% navegador — tu token nunca sale del dispositivo. Sin registro ni rastreo.
Generador de Hash MD5 Online y Verificador de Checksum
Herramientas de Seguridad
Genera hashes MD5, SHA-256, SHA-1 y SHA-512 gratis — 100% en tu navegador, sin registro. Hashea texto o archivos, verifica checksums y compara hashes con un clic. Tus datos permanecen privados.
Generador de Contraseñas Aleatorias y Seguras
Herramientas de Seguridad
Genera contraseñas seguras al instante — gratis, sin registro, 100% en tu navegador. Personaliza la longitud y los tipos de caracteres, genera hasta 50 contraseñas. Medidor de fortaleza con análisis de entropía.
Generador de Hash SHA-1 (Legado de 160 bits)
Herramientas de Seguridad
Genera hashes SHA-1 en tu navegador — salida hex de 40 caracteres, sin subidas. Herramienta para huellas Git, comprobación de certificados antiguos y auditorías de migración. Datos nunca salen de tu dispositivo.
Generador de Hash SHA-256 y Verificador de Checksum
Herramientas de Seguridad
Genera hashes SHA-256 online gratis. Hashea texto o archivos en tu navegador, verifica checksums y copia la salida hex de 64 caracteres. Sin registro; los datos nunca salen de la página.
Generador de Hash SHA-384 (Hash Suite B para TLS)
Herramientas de Seguridad
Genera hashes SHA-384 online — salida hex de 96 caracteres, inmune a extensión de longitud, compatible con NSA Suite B. Usado con AES-256-GCM en TLS. Todo el hasheo se ejecuta en tu navegador.