Calculadora de código de hash CRC-32
Publicado: 17 de fevereiro de 2025 às 18:12:11 UTC
Calculadora de código de hash que utiliza a função de hash CRC-32 (Cyclic Redundancy Check 32 bit) para calcular um código de hash com base na introdução de texto ou no carregamento de ficheiros.CRC-32 Hash Code Calculator
O Cyclic Redundancy Check (CRC) é um código de deteção de erros normalmente utilizado para detetar alterações acidentais em dados brutos. Embora não seja tecnicamente uma função de hash criptográfico, o CRC-32 é frequentemente referido como um hash devido à sua capacidade de produzir uma saída de tamanho fixo (32 bits) a partir de uma entrada de comprimento variável.
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-32
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 de hash criptográficas, não é um algoritmo particularmente complicado, por isso provavelmente não vai haver problema ;-)
Imagine que está a enviar uma carta pelo correio, mas teme que esta se danifique antes de chegar ao destinatário. Com base no conteúdo da carta, calcula uma soma de controlo CRC-32 e escreve-a no envelope. Quando o destinatário recebe a carta, pode também calcular a soma de controlo e verificar se corresponde ao que escreveu. Se corresponder, a carta não foi danificada ou alterada durante o percurso.
A forma como o CRC-32 faz isso é um processo de quatro etapas:
Passo 1: Adicionar algum espaço extra (Padding)
- O CRC adiciona um pouco mais de espaço no final da mensagem (como se estivesse a empacotar amendoins numa caixa).
- Isto ajuda-o a detetar erros mais facilmente.
Passo 2: A régua mágica (o polinómio)
- O CRC-32 usa uma "régua mágica" especial para medir os dados.
- Pense nesta régua como um padrão de saliências e ranhuras (isto é o polinómio, mas não se preocupe 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 ranhuras estão alinhadas.
- Se não estiverem alinhados, o CRC faz uma anotação (isto é feito usando XOR simples, como ligar ou desligar interruptores).
- Continua a deslizar e a inverter os interruptores até chegar ao fim.
Passo 4: O resultado final (o checksum)
- Depois de deslizar a régua por toda a mensagem, fica-se com um pequeno número (32 bits) que representa os dados originais.
- Este número é como uma impressão digital única para a mensagem.
- Esta é a soma de controlo CRC-32.
A versão apresentada na página é a função CRC-32 original, que é a que deve ser utilizada para uma melhor compatibilidade com outros sistemas.
Também tenho calculadoras para as outras variantes: