Calculadora de código hash CRC-32C
Publicado: 17 de fevereiro de 2025 às 18:45:11 UTC
Última atualização: 12 de janeiro de 2026 às 11:37:28 UTC
CRC-32C Hash Code Calculator
A Verificação de Redundância Cíclica (CRC) é um código detetor de erros frequentemente utilizado para detetar alterações acidentais em dados brutos. Embora tecnicamente não seja uma função de hash criptográfica, o CRC-32 é frequentemente referido como hash devido à sua capacidade de produzir uma saída de tamanho fixo (32 bits) a partir de entrada de comprimento variável. A versão apresentada nesta página é a variante CRC-32C, que é uma versão mais recente, "inteligente" (melhor deteção de erros), frequentemente acelerada por hardware nos CPUs modernos (via SSE 4.2).
Divulgação completa: eu não escrevi a implementação específica da função hash usada nesta página. Trata-se de uma função padrão incluída na linguagem de programação PHP. Apenas criei a interface Web para a tornar publicamente disponível aqui por conveniência.
Sobre o Algoritmo de Hash CRC-32C
Não sou matemático, mas vou tentar explicar esta função de hash com uma analogia simples. Ao contrário de muitas das funções hash criptográficas, não é um algoritmo particularmente complicado, por isso provavelmente vai correr bem ;-)
Imagine que está a enviar uma carta pelo correio, mas está preocupado que possa danificá-la antes de chegar ao destinatário. Com base no conteúdo da carta, calcula um checksum CRC-32 e escreve isso no envelope. Quando o destinatário recebe a carta, pode também calcular o checkamount e verificar se corresponde ao que escreveu. Se isso acontecer, a carta não foi danificada nem alterada pelo caminho.
A forma como o CRC-32 faz isto é um processo de quatro etapas:
Passo 1: Adicione algum espaço extra (almofadamento)
- O CRC adiciona um pouco mais de espaço no final da mensagem (como embalar amendoins numa caixa).
- Isto ajuda a identificar erros mais facilmente.
Passo 2: O Governante Mágico (O Polinómio)
- O CRC-32 utiliza uma "régua mágica" especial para medir os dados. Pensa nesta régua como um padrão de saliências e sulcos (este é o polinómio, mas não te preocupes com essa palavra). A "régua" mais comum para CRC-32 é um padrão fixo.
Passo 3: Deslizar a Régua (Processo de Divisão)
- Agora o CRC desliza a régua pela mensagem. Em cada ponto, verifica se as saliências e sulcos coincidem. Se não coincidirem, o CRC faz uma nota (isto é feito usando XOR simples, como ligar ou desligar interruptores). Continua a deslizar e a ligar interruptores até chegar ao fim.
Passo 4: O Resultado Final (O Checksum)
- Depois de deslizar a régua por toda a mensagem, fica com um pequeno número (32 bits de comprimento) que representa os dados originais. Este número é como uma impressão digital única para a mensagem. Este é o checksum CRC-32.
A versão apresentada na página é a variante CRC-32C, que deve ser a variante preferida, especialmente se estiver a usar um CPU com aceleração por hardware (SSE 4.2 e posteriores) e não precisa de compatibilidade com outras variantes.
Também tenho calculadoras para as outras variantes:
- Link
- Link
Leitura adicional
Se gostou deste post, também pode gostar destas sugestões:
- Calculadora de código de hash Fowler-Noll-Vo FNV1a-64
- Calculadora de código hash MD2
- Calculadora de código hash HAVAL-192/4
