Hasher Keccak / SHA3
Ferramenta keccak256 online grátis: calcule seletores de função de 4 bytes, hashes topic0 de eventos e endereços checksum EIP-55. Keccak-256/512 e SHA3.
O que é Hasher Keccak / SHA3?
Hasher Keccak / SHA3 é uma ferramenta online gratuita para gerar hashes criptográficos usando algoritmos Keccak e SHA3. Keccak-256 é a função de hash usada pelo Ethereum para endereços, IDs de transação e funções de contratos inteligentes. SHA3 é a versão padronizada pelo NIST com pequenas modificações.
Esta ferramenta suporta entrada de texto e hexadecimal, e inclui um painel de auxiliares Solidity/EVM que deriva o seletor de função de 4 bytes, o topic0 de evento de 32 bytes e o endereço checksum EIP-55 diretamente do Keccak-256, tornando-a perfeita para desenvolvedores blockchain, auditores de contratos inteligentes e entusiastas de criptomoedas. Veja também nosso Conversor de Unidades Ethereum, Gerador de Hash SHA-512 e Gerador de Hash SHA-256.
Algoritmos de Hash Disponíveis
| Algoritmo | Tamanho de Saída | Caso de Uso |
|---|---|---|
| Keccak-256 | 256 bits (32 bytes) | Endereços Ethereum, hashes de transação, seletores de função |
| Keccak-512 | 512 bits (64 bytes) | Aplicações de alta segurança, criptografia avançada |
| SHA3-256 | 256 bits (32 bytes) | Padrão NIST, hashing criptográfico geral |
| SHA3-512 | 512 bits (64 bytes) | Padrão NIST, hashing de segurança máxima |
Qual é a diferença entre Keccak e SHA3?
Keccak venceu a competição SHA3 em 2012, mas o NIST fez pequenas modificações antes de padronizá-lo como SHA3 em 2015. Ethereum usa o algoritmo Keccak original (pré-NIST), não o SHA3 padronizado. Isso significa keccak256('') ≠ sha3_256('') apesar de ambos serem hashes de 256 bits. Sempre use Keccak-256 para desenvolvimento Ethereum.
Por que Ethereum usa Keccak-256?
Ethereum escolheu Keccak-256 antes do SHA3 ser finalizado pelo NIST. É usado para: gerar endereços de contrato a partir de endereço do implantador e nonce, criar IDs de transação, fazer hash de assinaturas de função (primeiros 4 bytes se tornam seletor de função) e derivar locais de slot de armazenamento em contratos inteligentes.
Quando devo usar modo de entrada hex?
Use entrada hex ao fazer hash de dados binários como bytecode, chamadas de função codificadas ou dados brutos de transação. A ferramenta converte strings hex para arrays de bytes antes de fazer hash. Por exemplo, fazer hash de '0x1234' fará hash dos bytes [0x12, 0x34], não dos caracteres de texto '0x1234'.
Como verificar endereços Ethereum?
Para derivar um endereço Ethereum: 1) Pegue a chave pública (64 bytes, excluindo prefixo 0x04), 2) Faça hash com Keccak-256, 3) Pegue os últimos 20 bytes (40 caracteres hex), 4) Adicione prefixo '0x'. O resultado é o endereço Ethereum. Esta ferramenta pode computar o passo 2.

Como um endereço checksum de maiúsculas e minúsculas EIP-55 é derivado?
O EIP-55 adiciona um checksum resistente a erros de digitação a um endereço Ethereum de 20 bytes misturando maiúsculas e minúsculas. Pegue os 40 caracteres hex minúsculos do endereço (sem 0x), calcule keccak256 dessa string ASCII minúscula e, para cada caractere do endereço que seja uma letra (a-f), coloque-o em maiúscula quando o nibble hex correspondente do hash for 8 ou maior; os dígitos (0-9) permanecem inalterados. Por exemplo, o endereço 0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed torna-se 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed. É exatamente isso que o painel de auxiliares Solidity/EVM calcula para qualquer endereço de 40 hex (ou uma chave pública não comprimida de 128 hex, que é primeiro hasheada com keccak256 e reduzida aos seus últimos 20 bytes).
Como calculo um seletor de função de 4 bytes e um topic0 de evento?
Um seletor de função são os primeiros 4 bytes do keccak256 da assinatura canônica (apenas tipos, sem espaços ou nomes de argumentos). Por exemplo, keccak256('transfer(address,uint256)') = 0xa9059cbb..., então o seletor é 0xa9059cbb — o prefixo de 4 bytes do calldata de transfer no ERC-20. Um topic0 de evento é o keccak256 completo de 32 bytes da assinatura do evento: keccak256('Transfer(address,address,uint256)') = 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, o topic indexado que os logs Ethereum usam para filtrar eventos Transfer de ERC-20. Insira a assinatura no modo Keccak-256 individual e o painel mostrará ambos instantaneamente.
Qual é a diferença exata entre o padding de Keccak e SHA3?
Ambos usam a mesma permutação sponge Keccak-f[1600]; a única diferença é o byte de separação de domínio adicionado durante o padding. O Keccak original (usado pelo Ethereum) adiciona o padrão de bits 0x01 e então preenche com 0x80 (pad10*1), enquanto o SHA3 do NIST adiciona 0x06 (os dois bits extras 01 distinguem o SHA3 do SHAKE e outras instâncias Keccak) antes do mesmo pad10*1. Esse único byte de padding é o motivo de keccak256('') = c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 mas sha3_256('') = a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a — permutação idêntica, padding diferente. Sempre escolha Keccak-256 para qualquer trabalho Ethereum/Solidity.
Esta ferramenta é segura para usar?
Sim! Todo o hashing, a derivação de seletores/topics e o cálculo do checksum EIP-55 acontecem inteiramente no seu navegador usando a biblioteca JavaScript js-sha3. Nenhum dado é enviado para nenhum servidor. No entanto, nunca faça hash de chaves privadas sensíveis ou segredos em nenhuma ferramenta online - sempre use ferramentas offline auditadas para operações criptográficas sensíveis.
Casos de Uso Comuns
- Desenvolvimento de Contrato Inteligente: Gerar seletores de função (primeiros 4 bytes do hash keccak256 da assinatura da função)
- Verificação de Endereço Ethereum: Computar hash Keccak-256 de chaves públicas para derivar endereços
- Análise de Transação: Fazer hash de dados de transação para verificar IDs de transação
- Geração de Assinatura de Evento: Criar hashes de tópicos de evento para logs Ethereum
- Cálculo de Slot de Armazenamento: Determinar locais de armazenamento em mappings e arrays Solidity
- Integridade de Dados: Verificar integridade de arquivo usando hashes padrão SHA3 NIST
- Metadados NFT: Fazer hash de metadados para criar identificadores únicos para NFTs
- Construção de Árvore Merkle: Gerar hashes de folha e nó para provas Merkle
