Generador de Hash SHA-3 y Keccak
Calcula hashes SHA3-224/256/384/512, Keccak-256/512 y SHAKE128/256 a partir de texto o bytes hex, directamente en tu navegador.
El Generador de Hash SHA-3 y Keccak funciona por completo en tu navegador. El texto y los bytes hex que hasheas se procesan en tu dispositivo y nunca se suben a ArrayKit.
Abre la herramienta de Hash SHA-256 y SHA-1
Acerca de Generador de Hash SHA-3 y Keccak
El Generador de Hash SHA-3 y Keccak calcula toda la familia FIPS 202 —SHA3-224, SHA3-256, SHA3-384 y SHA3-512— más los Keccak-256 y Keccak-512 originales y las funciones de salida extensible SHAKE128/SHAKE256. Escribe texto UTF-8 o cambia al modo hex para hashear bytes en bruto, y el resumen en minúsculas se actualiza mientras escribes. Está pensado para la confusión cotidiana en torno a estos algoritmos: SHA3-256 y Keccak-256 parecen idénticos pero se diferencian en un byte de relleno, y Ethereum se decantó por Keccak-256 antes de que el estándar se finalizara. Úsalo para derivar un selector de función de Ethereum, verificar un resultado keccak256 de Solidity, comprobar una suma de verificación SHA-3 o elegir una longitud de salida SHAKE. Cada resumen se calcula en tu navegador, así que los valores que hasheas se quedan en tu dispositivo.
Características
- Abarca SHA3-224, SHA3-256, SHA3-384 y SHA3-512 de NIST FIPS 202
- Incluye los Keccak-256 y Keccak-512 originales usados en todo Ethereum
- SHAKE128 y SHAKE256 con una longitud de salida alineada a bytes que tú eliges
- Hashea texto UTF-8 o pega bytes hex en bruto con un interruptor de un clic
- El resumen se actualiza en vivo mientras escribes y se copia con un solo clic
- Muestra la longitud del resumen en bits para que confirmes la variante correcta
- Error claro cuando el hex pegado tiene una longitud impar o caracteres no válidos
- Funciona por completo en tu navegador: nada de lo que hasheas se sube
Cómo usar Generador de Hash SHA-3 y Keccak
- Elige un algoritmo: SHA3-256, Keccak-256, SHAKE256 y más
- Elige UTF-8 para hashear texto o Hex para hashear bytes en bruto
- Escribe o pega tu entrada; el resumen aparece al instante
- Para SHAKE, fija la longitud de salida en bits y luego copia el resumen hex
Ejemplo
Entrada
algorithm: Keccak-256
input: "" (empty string)
Salida
c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
El hash Keccak-256 de la cadena vacía en el que se apoyan por todas partes las herramientas de Ethereum.
Errores comunes y solución de problemas
- SHA3-256 y Keccak-256 dan resultados distintos para el mismo texto. — Es lo esperado: usan un relleno distinto. Usa Keccak-256 para Ethereum y el keccak256 de Solidity; usa SHA3-256 para el hash estándar de NIST.
- El modo Hex informa de un número impar de dígitos. — Cada byte son dos caracteres hex, así que la entrada debe tener una longitud par. Elimina cualquier nibble suelto o carácter no hex e inténtalo de nuevo.
- Un resumen SHAKE es más largo o más corto de lo esperado. — La longitud de SHAKE se fija en bits, no en bytes: 256 bits son 64 caracteres hex. Asegúrate de que la longitud sea un múltiplo positivo de 8.
- El resumen no coincide con la salida de mi keccak256 de Solidity. — Solidity hashea los bytes en bruto del valor codificado en ABI. Cambia al modo Hex y pega esos bytes exactos en lugar del texto legible.
Preguntas frecuentes
- ¿Cuál es la diferencia entre SHA-3 y Keccak-256?
- Ejecutan la misma esponja Keccak pero añaden un byte de separación de dominio distinto antes del relleno (0x06 para SHA-3, 0x01 para Keccak). Esa única diferencia hace que sus resúmenes sean completamente distintos, así que un valor hasheado con SHA3-256 nunca será igual al mismo valor hasheado con Keccak-256.
- ¿Por qué Ethereum usa Keccak-256 en lugar de SHA3-256?
- Ethereum adoptó Keccak-256 de la propuesta original de Keccak antes de que NIST finalizara SHA-3 con un relleno ligeramente distinto. Para mantener la compatibilidad, Ethereum y el keccak256 de Solidity conservaron la variante original, y por eso las direcciones y los selectores de función se basan en Keccak-256.
- ¿Qué son SHAKE128 y SHAKE256?
- Son funciones de salida extensible (XOF): en lugar de un tamaño fijo, eliges cuántos bits de resumen quieres. El 128 y el 256 se refieren a su nivel de seguridad, no a la longitud de salida, así que puedes pedir 128, 256, 512 o más bits de cualquiera de las dos.
- ¿Cómo hasheo bytes en bruto para que coincidan con una llamada keccak256 sobre datos codificados en ABI?
- Cambia el selector de entrada a Hex y pega los bytes en hexadecimal; un prefijo 0x opcional y los espacios están bien. La herramienta hashea esos bytes exactos en lugar de su texto UTF-8, que es lo que espera un keccak256 de Solidity sobre datos codificados.
- ¿Es SHA-3 solo una versión más rápida o más segura de SHA-256?
- No. SHA-3 es un diseño completamente distinto —una esponja Keccak en lugar de la construcción Merkle–Damgård que hay detrás de SHA-256— elegido como alternativa estandarizada. Con el mismo tamaño de resumen ofrecen una resistencia a colisiones comparable, y sus salidas son totalmente distintas, así que SHA-3 no es un reemplazo directo.
- ¿Qué longitud de salida debo elegir para SHAKE?
- Ajústala a lo que pida la especificación que estés implementando. Un valor predeterminado común es 256 bits para SHAKE128 y 512 bits para SHAKE256, pero cualquier múltiplo positivo de 8 bits sirve; esta herramienta rellena esos valores predeterminados y te deja cambiarlos.
Herramientas relacionadas
Todas las herramientas de ArrayKit