utilstuff.com
Voltar a Ferramentas Dev

Calculadora CRC

Calcule e analise somas de verificação CRC para verificar a integridade dos dados.

O Que É um CRC?

Um Cyclic Redundancy Check (CRC) é uma soma de verificação curta calculada a partir de um bloco de dados, concebida para detetar corrupção acidental — um bit invertido devido a uma ligação de rede ou erro de armazenamento — e não para fornecer segurança criptográfica. Esta ferramenta suporta dezenas de variantes padrão de CRC-16 e CRC-32, incluindo CRC-16/MODBUS, CRC-16/CCITT-FALSE e CRC-32/ISO-HDLC.

Como Usar a Calculadora de CRC

  1. Introduza os dados como texto ou bytes hexadecimais.
  2. Escolha a variante de CRC correspondente ao seu protocolo ou formato de ficheiro.
  3. Leia a soma de verificação calculada, ou use as ferramentas de frame/Modbus para construir e validar uma trama de dados completa.

Notas Técnicas

  • O CRC destina-se à deteção de erros, não à resistência a adulteração — é fácil para alguém modificar dados intencionalmente e recalcular um CRC correspondente, algo que um hash criptográfico ou MAC foi concebido para impedir.
  • Variantes diferentes de CRC usam polinómios, valores iniciais e ordenações de bits diferentes, pelo que os mesmos dados produzem uma soma de verificação diferente em cada variante — faça sempre corresponder à variante exata especificada pelo seu protocolo ou formato de ficheiro.

Perguntas frequentes

Um CRC é um hash seguro?+

Não. Um CRC apenas deteta alterações acidentais, como ruído na transmissão ou erros de armazenamento. É trivial alterar os dados e recalcular um CRC correspondente de propósito, por isso use um hash criptográfico ou um HMAC quando precisar de resistência à adulteração.

Porque é que os mesmos dados dão valores de CRC diferentes em ferramentas diferentes?+

Porque "CRC-16" ou "CRC-32" por si só não é uma especificação completa. O resultado depende do polinómio, do valor inicial, de os bits de entrada e saída serem refletidos (RefIn/RefOut) e do valor XOR final. Use exatamente a variante nomeada que o seu protocolo ou formato de ficheiro define.

O que significam polinómio, init, RefIn/RefOut e XorOut?+

O polinómio é o divisor que define o CRC. Init é o valor inicial do registo. RefIn e RefOut controlam se os bytes de entrada e o resultado final são processados com o bit menos significativo primeiro. XorOut é uma constante aplicada por XOR ao valor final. Em conjunto, estes cinco parâmetros definem por completo uma variante de CRC.