GeradoresOnline
Encode/Decode

Calcular CRC32

Gere o checksum CRC32 de um texto — usado para detectar erros de integridade de dados.

Checksum calculado no servidor com a função nativa do PHP. CRC32 detecta erros acidentais, mas não serve como hash criptográfico (é fácil de forjar de propósito).

Documentação técnica

CRC32: não é um hash criptográfico, e nunca foi projetado para ser

CRC32 (Cyclic Redundancy Check, 32 bits) frequentemente aparece listado ao lado de MD5 e SHA como se fosse mais uma opção da mesma categoria — mas é uma ferramenta com propósito de design fundamentalmente diferente. CRC32 foi criado para detectar erros acidentais de transmissão ou armazenamento (um bit invertido por ruído elétrico, um setor de disco corrompido), baseado em divisão polinomial sobre GF(2), a mesma família matemática usada no checksum do payload Pix deste site (que usa CRC16, uma variante menor). Nunca foi projetado para resistir a adulteração deliberada — e é trivialmente contornável por alguém que queira forjar um conteúdo diferente com o mesmo CRC32.

Por que CRC32 é forjável de forma tão mais fácil que MD5 ou SHA-1

Mesmo o MD5 e o SHA-1 — hoje considerados criptograficamente quebrados — exigem esforço computacional real e não-trivial para forjar uma colisão. CRC32 não: sua estrutura matemática linear (é literalmente o resto de uma divisão polinomial) permite calcular, com esforço computacional mínimo, exatamente quais bytes adicionar a um arquivo para fazê-lo produzir qualquer CRC32 alvo desejado — uma técnica documentada e usada, por exemplo, para ocultar payload malicioso dentro de um arquivo ZIP mantendo um checksum "válido" específico. Essa fragilidade não é uma falha recente descoberta por pesquisa — é uma consequência direta e conhecida desde sempre da própria matemática do algoritmo.

Onde CRC32 continua sendo exatamente a ferramenta certa

Para o que foi desenhado — detectar corrupção acidental, não ataque deliberado — CRC32 é rápido, leve, e amplamente suficiente: é o checksum usado no formato ZIP, em Ethernet (verificação de quadro), em PNG (por chunk de imagem) e em inúmeros protocolos de baixo nível onde velocidade de cálculo importa mais que resistência a adversário. A escolha certa de algoritmo depende inteiramente da pergunta "existe alguém tentando enganar deliberadamente esta verificação?" — se a resposta for não, CRC32 é adequado; se for sim, é a ferramenta errada por definição de design, não por implementação falha.

Gostou das ferramentas? Ajude a manter o site no ar: apoiar via Pix · Sobre · Contato · Política de Privacidade