Miklix

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.

Esta página foi traduzida automaticamente do inglês para torná-la acessível ao maior número possível de pessoas. Infelizmente, a tradução automática ainda não é uma tecnologia aperfeiçoada, portanto, podem ocorrer erros. Se preferir, você pode visualizar a versão original em inglês aqui:

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.


Calcolo del nuovo codice Hash

Os dados enviados ou os arquivos carregados por meio deste formulário serão mantidos no servidor somente pelo tempo necessário para gerar o código hash solicitado. Eles serão excluídos imediatamente antes de o resultado ser retornado ao seu navegador.

Dados de entrada:



O texto enviado é codificado em UTF-8. Como as funções de hash operam em dados binários, o resultado será diferente do que seria se o texto estivesse em outra codificação. Se você precisar calcular um hash de um texto em uma codificação específica, deverá carregar um arquivo.



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:


Compartilhe no BlueskyCompartilhe no FacebookCompartilhe no LinkedInCompartilhe no TumblrCompartilhar em XCompartilhe no LinkedInFixar no Pinterest

Mikkel Bang Christensen

Sobre o autor

Mikkel Bang Christensen
Mikkel é o criador e proprietário do miklix.com. Ele tem mais de 20 anos de experiência como programador de computador/desenvolvedor de software profissional e atualmente trabalha em tempo integral para uma grande empresa europeia de TI. Quando não está blogando, ele dedica seu tempo livre a uma grande variedade de interesses, hobbies e atividades, o que pode, até certo ponto, refletir-se na variedade de tópicos abordados neste site.