Calculadora de CRC32

Calcule o CRC32 de qualquer texto online, em tempo real. CRC32 gera 8 caracteres hexadecimais.

Calculadora de CRC32

Digite ou cole o texto para calcular o CRC32 em tempo real. Processamento 100% no navegador — nenhum dado é enviado ao servidor.

ℹ CRC32 é usado para detecção de erros em arquivos, não para segurança criptográfica.
0 bytes (UTF-8)

O que é CRC32?

CRC32 (Cyclic Redundancy Check de 32 bits) é um algoritmo de detecção de erros que gera um valor de verificação de 8 caracteres hexadecimais (32 bits) para qualquer sequência de bytes. Diferente de MD5 ou SHA-256, o CRC32 não foi projetado para segurança criptográfica — seu objetivo é detectar erros acidentais em transmissões e armazenamento de dados.

Entrada:  "hello"
CRC32:    3610A686

O CRC32 é extremamente rápido e simples de implementar em hardware, o que explica sua adoção massiva em sistemas embarcados e formatos de arquivo.

Para que serve o CRC32?

CRC32 é usado amplamente em contextos onde a velocidade importa mais que a segurança:

  • Arquivos ZIP: cada arquivo comprimido inclui um CRC32 para verificar integridade após descompressão
  • Arquivos PNG: cada chunk de dados PNG inclui um CRC32
  • ISO e imagens de disco: verificação de integridade de imagens de CD/DVD/USB
  • Ethernet: o frame Ethernet inclui um FCS (Frame Check Sequence) baseado em CRC32 para detectar erros de transmissão
  • SATA e USB: protocolos de armazenamento usam CRC para detectar erros nos dados lidos/gravados
  • Bibliotecas de compressão: zlib (usada em gzip, PNG, HTTP) usa CRC32 para verificação
  • Jogos e savefiles: detecção de corrupção em arquivos de save e ROMs

Como funciona o polinômio CRC32?

CRC32 trata os dados como um número binário gigante e divide esse número por um polinômio gerador fixo de 32 bits. O “resto” da divisão é o CRC32.

O polinômio padrão usado pelo ZIP, PNG e Ethernet é: 0xEDB88320 (representação “reflected” de 0x04C11DB7)

O processo prático:

  1. Uma tabela de 256 entradas de 32 bits é pré-computada a partir do polinômio
  2. Para cada byte da entrada, o CRC é atualizado com uma operação XOR e uma consulta à tabela
  3. Ao final, o CRC é invertido (XOR com 0xFFFFFFFF) para produzir o valor final

Esse design permite implementação eficiente em hardware com portas lógicas simples.

CRC32 vs MD5 vs SHA-256: propósitos diferentes

CaracterísticaCRC32MD5SHA-256
Bits de saída32128256
PropósitoDetecção de errosChecksum / legadoSegurança criptográfica
Colisões intencionaisTriviaisPossíveisInviáveis
VelocidadeExtremamente rápidoMuito rápidoRápido
Resistência a adulteraçãoNenhumaBaixaAlta
Recomendado paraErros acidentaisChecksums simplesSegurança

A regra prática: use CRC32 para detectar corrupção acidental, MD5 para checksums de compatibilidade e SHA-256 para qualquer coisa relacionada à segurança.

Casos de uso do CRC32 em detalhes

Verificação de arquivos ZIP

Ao extrair um ZIP, o descompressor recalcula o CRC32 de cada arquivo e compara com o valor armazenado no cabeçalho. Se houver diferença, o arquivo está corrompido. Isso detecta erros de bit causados por falhas de hardware ou transmissão incompleta.

Protocolo Ethernet

O Frame Check Sequence (FCS) de 4 bytes no final de cada frame Ethernet é um CRC32. Switches e placas de rede verificam este valor ao receber dados — frames com CRC inválido são descartados silenciosamente, forçando retransmissão.

Detecção vs proteção

CRC32 detecta erros, mas não os corrige — para isso existem códigos como Reed-Solomon (usado em QR codes e CDs). CRC32 também não protege contra adulteração maliciosa: um atacante pode modificar dados e recalcular o CRC32 para que pareça válido.

Perguntas frequentes sobre CRC32

CRC32 pode ser usado para senhas ou segurança?

Não. CRC32 não oferece resistência a colisões intencionais — é trivial criar duas strings com o mesmo CRC32. Para segurança, use SHA-256 ou SHA-512. Para senhas, use bcrypt, Argon2 ou scrypt.

Qual é o CRC32 de uma string vazia?

O CRC32 de uma string vazia é 00000000 (zero). Isso faz sentido matematicamente: sem bytes de entrada, o algoritmo retorna o valor neutro.

CRC32 é o mesmo em todos os sistemas?

Existem variantes do CRC32 com polinômios diferentes. O mais comum (usado por ZIP, PNG, zlib e Ethernet) usa o polinômio 0xEDB88320. Outros sistemas usam variantes como CRC32C (iSCSI, ext4, Btrfs) com o polinômio de Castagnoli (0x82F63B78). Esta calculadora usa o polinômio padrão do ZIP/PNG.

CRC32 detecta todos os erros?

CRC32 detecta: todos os erros de bit único, todos os erros de dois bits em qualquer posição, qualquer número ímpar de erros, e rajadas de erro (burst errors) de até 32 bits. Para rajadas maiores, há probabilidade de falha na detecção de aproximadamente 1 em 4 bilhões (2^-32).

Veja também