CRC32 Gerador de Hash
Ferramenta gratuita de CRC32 Gerador de Hash online. Processamento 100% local — seus dados nunca saem do seu dispositivo.
O resultado será exibido aqui...
Entrada → Calcular Hash
Usage Guide
Sobre o CRC32
CRC32 (Verificação de Redundância Cíclica, 32 bits) é um algoritmo de deteção de erros baseado em divisão polinomial. Utiliza o polinômio CRC-32/ISO-HDLC (0xEDB88320, refletido) para produzir uma soma de verificação de 32 bits (8 caracteres hexadecimais) a partir de qualquer entrada. O CRC32 é amplamente utilizado em arquivos ZIP, quadros Ethernet, gzip e arquivos PNG para detetar corrupção acidental de dados.
Passos de uso
CRC32 é uma soma de verificação unidirecional — calcula um valor fixo a partir da entrada e não pode ser revertido:
Formato de saída
CRC32 produz sempre exatamente 8 caracteres hexadecimais (32 bits / 4 bytes), independentemente do comprimento da entrada. A mesma entrada produz sempre a mesma saída. Mesmo uma única alteração de caractere produz uma soma de verificação completamente diferente (efeito avalanche). Exemplo: "hello" → "3610A686".
CRC32 vs. funções hash criptográficas
CRC32 e hashes criptográficos (SHA-256, SHA-3, BLAKE2) servem propósitos fundamentalmente diferentes e não devem ser confundidos:
FAQ
Q: CRC32 é seguro para verificar a integridade de arquivos?
A: Não. CRC32 só pode detetar corrupção acidental (ex. inversão de bits durante a transmissão). Um atacante pode facilmente criar um arquivo malicioso com o mesmo CRC32 que um arquivo legítimo. Para integridade de arquivos crítica em segurança, use sempre SHA-256 ou hashes mais fortes, idealmente combinados com uma assinatura digital.
Q: Como é possível que duas entradas diferentes tenham o mesmo CRC32?
A: CRC32 mapeia qualquer entrada para apenas 2^32 (~4 bilhões) de valores possíveis, então colisões são matematicamente inevitáveis. Mais criticamente, a estrutura matemática linear do CRC sobre GF(2) torna trivialmente fácil fabricar colisões propositalmente — você pode adicionar um sufixo curto a qualquer mensagem para forçar qualquer valor CRC32 desejado em microssegundos.
Q: Onde o CRC32 é usado na prática?
A: CRC32 é amplamente usado em contextos não relacionados à segurança onde velocidade e simplicidade importam: arquivos ZIP e gzip armazenam CRC32 para detetar erros de transmissão; Ethernet (802.3) adiciona uma Sequência de Verificação de Quadro (FCS) CRC32 a cada pacote; blocos de imagem PNG incluem CRC32; somas de verificação de setores de disco em muitos sistemas de arquivos; verificação de fluxos zlib e deflate. Todos dependem apenas da capacidade do CRC32 de detetar erros aleatórios, não ataques deliberados.
Q: Qual é a diferença entre CRC32 e MD5?
A: Ambos são rápidos e produzem saídas de comprimento fixo, mas diferem fundamentalmente: MD5 é um hash criptográfico (128 bits / 32 caracteres hex) projetado para segurança, embora agora esteja comprometido. CRC32 é uma soma de verificação não criptográfica (32 bits / 8 caracteres hex) projetada apenas para deteção de erros. CRC32 é mais rápido, mas tem resistência a colisões muito mais fraca. Nenhum dos dois deve ser usado para fins de segurança hoje — prefira SHA-256 ou BLAKE2.
Q: Dados diferentes podem ter o mesmo valor CRC32?
A: Sim — isso é chamado de colisão e é muito fácil de produzir intencionalmente com CRC32. Dois arquivos ou strings completamente diferentes podem compartilhar o mesmo valor CRC32 de 8 caracteres. Este é um comportamento esperado em somas de verificação de deteção de erros e é uma das principais razões pelas quais CRC32 nunca deve ser usado como mecanismo de segurança.
Q: CRC32 pode ser usado para hash de senhas?
A: Absolutamente não. CRC32 não é um hash criptográfico e não tem nenhuma das propriedades necessárias para hash de senhas: é trivialmente rápido (permitindo bilhões de tentativas por segundo), colisões são triviais de construir e não tem suporte para salting. Use um algoritmo dedicado de hash de senhas como Argon2id, bcrypt ou scrypt. Consulte o OWASP Password Storage Cheat Sheet para orientação.
Use Cases
Recomendado: Somas de verificação de arquivos ZIP / gzip
ZIP e gzip usam CRC32 para detetar corrupção de arquivos durante o armazenamento ou transmissão. Este é o caso de uso canónico: um remetente confiável calcula CRC32 e o destinatário o verifica para detetar erros de bits acidentais. Nenhum contexto adversarial é assumido.
- ✅ CRC32 para integridade interna ZIP/gzip (conforme ao padrão)
- ✅ CRC32 para verificação de blocos PNG
- ✅ CRC32 para validação de fluxos gzip/zlib
- ❌ Não confiar no CRC32 para detetar adulteração intencional de arquivos
Recomendado: Deteção de erros em pacotes de rede
Ethernet (IEEE 802.3) adiciona uma Sequência de Verificação de Quadro CRC de 32 bits a cada quadro. O hardware calcula e verifica isso à velocidade do fio. CRC32 é excelente aqui porque os erros são aleatórios (ruído), não adversariais, e a velocidade é crítica.
- ✅ CRC32 / CRC-32C para validação de pacotes Ethernet, iSCSI, SCTP
- ✅ CRC32 para deteção de erros em comunicação série/UART
- ❌ Não adequado para proteger comunicações de rede — use TLS/HMAC
Recomendado: Validação de dados em sistemas embebidos
Microcontroladores e firmware embebido usam CRC32 para verificar conteúdo de memória flash, integridade de dados EEPROM e correção de imagens de arranque. Unidades CRC de hardware (ex. periférico CRC do STM32) calculam um ciclo de relógio por byte.
- ✅ CRC32 para validação de imagem de firmware (verificação de arranque não segura)
- ✅ CRC32 para integridade de dados EEPROM / NVM
- ✅ CRC32 para enquadramento de protocolos de comunicação
- ❌ Para arranque seguro, combinar com assinatura criptográfica (ECDSA/RSA)
Aceitável: Deduplicação de dados não sensível à segurança
CRC32 pode ser usado como um filtro rápido de primeira passagem para agrupar dados por soma de verificação e encontrar possíveis duplicatas, desde que as colisões sejam toleradas (ex. uma comparação secundária confirma a igualdade). Não use CRC32 sozinho como única chave de deduplicação em armazenamento sensível à segurança.
- ✅ CRC32 como pré-filtro rápido antes da comparação byte a byte
- ⚠️ CRC32 sozinho como chave de deduplicação (risco de colisão ~1 em 4 bilhões)
- ❌ CRC32 para armazenamento endereçável por conteúdo com requisitos de segurança
- 💡 Considere BLAKE2 ou SHA-256 para deduplicação com garantias de integridade
Não recomendado: Qualquer finalidade de segurança
CRC32 nunca deve ser usado para autenticação, proteção de integridade contra atacantes, hash de senhas, assinaturas digitais ou impressão digital de conteúdo em contextos de segurança. Use SHA-256, SHA-3 ou BLAKE2 para qualquer hashing sensível à segurança.
- ❌ CRC32 para hash de senhas
- ❌ CRC32 para assinaturas digitais ou MACs
- ❌ CRC32 para tokens de autenticação de API
- ❌ CRC32 para verificação de integridade de arquivos crítica em segurança
- ✅ SHA-256 / SHA-3 / BLAKE2 para todos os casos de uso de segurança
Resumo das melhores práticas
- CRC32 é apropriado apenas para detetar corrupção acidental de dados em contextos confiáveis e não adversariais.
- CRC32 não oferece nenhuma segurança — colisões são trivialmente fabricadas e não tem propriedades criptográficas.
- Para qualquer caso de uso de segurança (autenticação, integridade, assinaturas, senhas), use SHA-256, SHA-3 ou BLAKE2.
- CRC32 é a escolha certa dentro de ZIP, gzip, PNG, Ethernet e firmware embebido — esse é seu escopo projetado.
- Em caso de dúvida, use SHA-256 por padrão: rápido, universalmente suportado e criptograficamente seguro.