Calculadora de código hash CRC-32B
Publicado: 17 de fevereiro de 2025 às 18:29:36 UTC
Calculadora de código hash que usa a função hash CRC-32B (Cyclic Redundancy Check 32 bits, variante B) para calcular um código hash com base na entrada de texto ou no upload de arquivo.CRC-32B Hash Code Calculator
Cyclic Redundancy Check (CRC) é um código de detecção de erros comumente usado para detectar alterações acidentais em dados brutos. Embora não seja tecnicamente uma função hash criptográfica, o CRC-32 é frequentemente chamado de hash devido à sua capacidade de produzir uma saída de tamanho fixo (32 bits) a partir de uma entrada de comprimento variável. A versão apresentada nesta página é a variante CRC-32B, que é realmente apenas uma peculiaridade na linguagem PHP que inverte os bits (little-endian vs big-endian no CRC-32 original).
Divulgação completa: não escrevi a implementação específica da função hash usada nesta página. Ela é uma função padrão incluída na linguagem de programação PHP. Apenas criei a interface da Web para disponibilizá-la publicamente aqui por conveniência.
Sobre o algoritmo de hash CRC-32B
Não sou matemático, mas tentarei explicar essa função hash com uma analogia simples. Ao contrário de muitas das funções hash criptográficas, não é um algoritmo particularmente complicado, então provavelmente ficará tudo bem ;-)
Imagine que você está enviando uma carta pelo correio, mas está preocupado que ela possa ser danificada antes de chegar ao destinatário. Com base no conteúdo da carta, você calcula uma soma de verificação CRC-32 e a escreve no envelope. Quando o destinatário recebe a carta, ele ou ela pode então calcular a soma de verificação e ver se ela corresponde ao que você escreveu. Se corresponder, a carta não foi danificada ou alterada ao longo do caminho.
A maneira como o CRC-32 faz isso é um processo de quatro etapas:
Etapa 1: adicione algum espaço extra (preenchimento)
- O CRC adiciona um pouco de espaço extra no final da mensagem (como se estivesse embalando amendoins em uma caixa).
- Isso ajuda a detectar erros mais facilmente.
Etapa 2: A régua mágica (o polinômio)
- O CRC-32 usa uma "régua mágica" especial para medir os dados.
- Pense nessa régua como um padrão de saliências e sulcos (este é o polinômio, mas não se preocupe com essa palavra).
- A "régua" mais comum para CRC-32 é um padrão fixo.
Etapa 3: Deslizando a régua (processo de divisão)
- Agora o CRC desliza a régua sobre a mensagem.
- Em cada ponto, ele verifica se as saliências e ranhuras estão alinhadas.
- Se eles não estiverem alinhados, o CRC faz uma anotação (isso é feito usando um simples XOR, como ligar ou desligar interruptores).
- Ele continua deslizando e acionando interruptores até chegar ao fim.
Etapa 4: O resultado final (a soma de verificação)
- Depois de deslizar a régua por toda a mensagem, você fica com um pequeno número (32 bits de comprimento) que representa os dados originais.
- Esse número é como uma impressão digital única para a mensagem.
- Esta é a soma de verificação CRC-32.
A versão apresentada na página é a variante CRC-32B, que é principalmente uma peculiaridade do PHP que troca a ordem de bits (little-endian vs big-endian). Você provavelmente só deve usar esta versão se precisar especificamente de compatibilidade com outro aplicativo PHP que a use.
Também tenho calculadoras para as outras variantes: