Skip to content

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.

Sin rastreo Se ejecuta en el navegador Gratis
El hasheo SHA-3 se ejecuta en tu navegador mediante la biblioteca js-sha3. No se transmite ningún dato a ningún servidor.
Algoritmo
Revisado para verificar la corrección de SHA3-256 según los vectores de prueba NIST FIPS 202 CAVP; distinción de relleno Keccak vs SHA-3 verificada — Equipo de Ingeniería de Go Tools · May 28, 2026

¿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. 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. 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. 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 keccak256 de 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(), Python hmac.compare_digest(), Go subtle.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?
Parecido, pero no idéntico. SHA-3 está basado en el algoritmo Keccak, que ganó la competición SHA-3 del NIST de 2007-2012, pero el NIST cambió la regla de relleno durante la estandarización. El Keccak original añade un byte de sufijo 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?
Ethereum fue diseñado en 2013-2014 y lanzado en 2015 — antes de que el NIST finalizara SHA-3 en agosto de 2015. Cuando el protocolo de Ethereum fue congelado, la implementación de referencia era la propuesta original del equipo de Keccak. El NIST luego cambió el relleno durante la estandarización, pero Ethereum no podía adoptar retroactivamente la variante FIPS 202 sin romper el consenso (todos los nodos deben calcular hashes idénticos). El resultado es una bifurcación permanente: el 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?
La construcción de esponja es la alternativa de SHA-3 al encadenamiento Merkle-Damgård de SHA-2. En lugar de comprimir la entrada bloque a bloque en un estado hash acumulativo (Merkle-Damgård), la esponja tiene dos fases: absorber (la entrada se combina con XOR en una porción del estado y se mezcla repetidamente con la permutación Keccak-f[1600]) y exprimir (los bits de salida se leen del estado). El beneficio de seguridad crítico: el estado interno es más grande que la salida — SHA3-256 usa un estado de 1600 bits pero solo emite 256 bits, dejando 1344 bits de estado oculto. Un atacante que solo ve la salida de 256 bits no puede reconstruir el estado completo para extender el mensaje, haciendo que los ataques de extensión de longitud sean estructuralmente imposibles sin un envoltorio. Esto difiere de SHA-256, que requiere HMAC para prevenir la extensión de longitud.
¿Debo usar SHA-3 en lugar de SHA-2?
No por defecto — tanto SHA-256 como SHA3-256 son actualmente seguros y aprobados por el NIST. SHA-3 está diseñado como respaldo estructural para SHA-2: porque usan diseños completamente diferentes (Merkle-Damgård vs. esponja), una vulnerabilidad en un algoritmo no compromete al otro. Usa SHA-3 cuando: (1) tu protocolo lo requiere explícitamente, (2) necesitas inmunidad a extensión de longitud sin el envoltorio HMAC, (3) estás construyendo un nuevo sistema que quiere agilidad de algoritmo preparada para el futuro, o (4) tu organización exige un hash SHA-3 de respaldo junto a SHA-256. Para checksums de archivos cotidianos y huellas de certificados, SHA-256 sigue siendo el estándar universal con mejor soporte de bibliotecas y hardware.
¿Es SHA-3 más rápido que SHA-256?
En software, generalmente más lento. SHA3-256 típicamente alcanza 150-400 MB/s en JavaScript del navegador, comparado con 400-700 MB/s para SHA-256 mediante la Web Crypto API (que usa la implementación SHA-2 nativa a nivel C del navegador). En hardware dedicado y ASICs (por ejemplo, chips de seguridad personalizados), la permutación Keccak-f[1600] de SHA-3 suele ser más rápida porque se paraleliza mejor y usa solo operaciones bit a bit simples (XOR, AND, rotar) — sin suma modular. SHA-3 también supera a SHA-2 en hardware embebido de 32 bits en muchos casos. Para herramientas basadas en navegador esta brecha de rendimiento es imperceptible; para hasheo masivo de archivos importa.
¿Qué longitud tiene un hash SHA-3 de esta herramienta?
Esta herramienta usa SHA3-256 por defecto, que siempre produce exactamente 64 caracteres hexadecimales (256 bits = 32 bytes, 2 caracteres hex por byte). El NIST FIPS 202 también define SHA3-224 (56 caracteres hex), SHA3-384 (96 caracteres hex) y SHA3-512 (128 caracteres hex). Todos comparten la misma permutación Keccak-f[1600]; solo difieren la división capacidad/tasa y la longitud de salida. Para comparación: SHA-256 también produce 64 caracteres hex, pero son cadenas de 64 caracteres diferentes para la misma entrada.
¿Es SHA-3 resistente a la computación cuántica?
Parcialmente. El algoritmo de Grover en un ordenador cuántico puede raíz cuadrada del espacio de búsqueda de cualquier función de hash, reduciendo efectivamente a la mitad el nivel de seguridad. SHA3-256 tiene 256 bits de resistencia a preimagen, que se reducen a 128 bits bajo un ataque cuántico — todavía seguro bajo cualquier modelo de amenaza plausible a corto plazo. La ventaja importante sobre SHA-2: la construcción de esponja de SHA-3 no está relacionada con Merkle-Damgård, por lo que no se ve afectada por ninguna técnica de criptoanálisis específica de la función de compresión de SHA-2. La guía poscuántica del NIST recomienda SHA-3 como el hash preferido para nuevos protocolos que deseen diversidad de diseño junto a SHA-2.
¿Se envían mis datos a un servidor al usar esta herramienta?
No. Tras la carga inicial de la biblioteca (el script 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?
El NIST organizó una competición abierta de 2007 a 2012 para seleccionar un tercer estándar de algoritmo de hash seguro — no para reemplazar SHA-2 (que sigue siendo seguro), sino para diversificar el panorama de algoritmos de hash en caso de que SHA-2 fuera alguna vez comprometido. 64 propuestas iniciales se redujeron a 5 finalistas: BLAKE, Grøstl, JH, Keccak y Skein. Keccak, diseñado por Guido Bertoni, Joan Daemen, Michaël Peeters y Gilles Van Assche (de STMicroelectronics y NXP Semiconductors), fue seleccionado como ganador en octubre de 2012 y estandarizado como SHA-3 en el NIST FIPS 202 en agosto de 2015. Su selección fue notable por elegir un diseño fundamentalmente diferente de SHA-2 en lugar de una variante evolutiva.
¿Es SHA-3 vulnerable a ataques de extensión de longitud?
No — por diseño. Los ataques de extensión de longitud explotan el hecho de que las construcciones Merkle-Damgård (SHA-256, SHA-512, MD5) exponen el estado interno en la salida del hash, permitiendo a un atacante añadir datos a un mensaje hasheado sin conocer el prefijo secreto. La construcción de esponja de SHA-3 evita esto completamente: el estado interno de 1600 bits es más grande que la salida de 256 bits, por lo que la salida no revela suficiente estado para extender el mensaje. Esto significa que puedes usar SHA3-256 puro como primitiva MAC con clave (KMAC) de forma segura, mientras que usar SHA-256 puro como MAC con clave (HASH(clave || mensaje)) es inseguro sin el envoltorio HMAC.

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.