Erro CRC
Autor: JULIO | Publicado: 2011-08-14T11:50:00-07:00

No forum do Baboo, o(a) usuario(a) mikeaniele postou um tutorial falando sobre este tipo de erro, que o nosso visitante perguntou no Chat Box, então vou postar aki o que mikeaniele disse:


O que são erros CRC e como arruma-los:

Quem já tiver prestado atencao nas listagens geradas pelo
WinRAR (ou por outros programas semelhantes, como o WinZIP)
deve ter percebido que tem uma "estranha" coluna chamada CRC-32
entre outras colunas com titulos mais obvios como "Size", "Name"
etc :

'http://k.domaindlx.com/mikeaniele/listg.png

CRC é uma abreviacao para "Checagem de Redundancia Ciclica"
e é uma informacao extra que é anexada aos arquivos compactados (mas que pode ser usada em qualquer situacao, não só com compactacao de arquivos). Com essa utilissima informacao extra você pode testar se um arquivo está intacto, sem problemas, sem bytes extraviados, mesmo antes de utiliza-lo. Qualquer alteracao no arquivo, por menor que seja, acarreta alteracao significativa no valor da CRC.

A CRC é um número hexadecimal (base 16) calculado atraves de diversas operações aritmeticas com os bytes dos arquivos.

Para voces verificarem o quanto esse negocio de CRC é uma idéia incrivel, seguem dois exemplos:

1. Peguei um arquivo-texto com varias mensagens recebidas via e-mail cujo tamanho total era 15.121 bytes. Calculei a CRC-32 do arquivo-texto. Para isso compactei o arquivo com o WinRAR.

O valor encontrado da CRC-32 que obtive foi: d6061ec1

Lá pelo meio do arquivo, troquei um sinal de ":" por um ";". Calculei novamente a CRC-32 com o novo arquivo modificado e o resultado foi completamente diferente do anterior: f32c20a9

Observem assim que uma mudança quase imperceptivel no arquivo causou uma mudança drastica no valor da CRC do arquivo.

2.Peguei uma foto digitalizada, formato BMP, 178.486 bytes, e calculei a CRC da mesma. Obtive como resposta: 5bf063c4

Carreguei a foto em um processador de imagens (como o Paint Brush) e troquei um pixel (pontinho da imagem) de cor branca por um de cor cinza claro. Salvei a imagem com um único pixel modificado em disco e calculei novamente a CRC.
Obtive como resultado: 9279ea0d

Mais uma vez notem que uma mudança quase imperceptivel no arquivo leva a mudancas radicais no valor da CRC.

O calculo da CRC fornece assim um recurso bastante confiável para saber se um arquivo foi danificado ou nao. Se qualquer arquivo tiver um único byte trocado, corrompido, então o calculo da CRC detectará facilmente a alteração.

Você pode até ainda não ter ouvido falar em CRC. Só que todo arquivo ZIP que tem no seu micro tem um calculo de CRC incluído. Entao, sem fazer barulho, ela sempre esteve discretamente presente por toda parte, em cada programa compactado que você pegou pela grande rede.

Quando mandamos o WinRAR ou o WinZip testar um arquivo, o que ele faz é recalcular a CRC dele e comparar com a CRC que foi calculada na hora do empacotamento que fica guardada dentro do pacote ZIP. Se elas coincidirem, então o programa diz que está tudo OK; caso contrario, ele mostra uma mensagem de erro dizendo que o arquivo está danificado. Esse negócio de CRC é realmente genial!

Tentando resolver os erros CRC:
Erros CRC são portanto provenientes de arquivos danificados, ou corrompidos. Mas esses erros não são incorrígiveis, por exemplo..

Certo dia fui em uma loja de software e comprei um programa que precisava para trabalhar, era um programa grande com 2 ou mais CDs, tentei instalar no meu computador. Ele copiou o primeiro CD perfeitamente então ele requisitou o segundo, para continuar a instalação. Eu inseri o CD e os arquivos começaram a ser copiados novamente, dali alguns segundos aparece uma mensagem:

Houve um Erro CRC na tentativa de cópia do seguinte arquivo:
data123.ttp

E a janela de instalação fechou. Tentei reinstalar mais umas 2 vezes e aconteceu exatamente o mesmo. Tentei copiar o arquivo por mim mesmo e recebi a mesma mensagem de erro.
Testei copiar o arquivo em outro computador, com o mesmo sistema operacional e funcionou(a partir dai foi facil, ou simplesmente gravei o arquivo junto com os outros em um CD). Fiquei bastante surpreso no começo e depois pensei mais um pouco e descobri que era simplesmente um problema de sujeira na leitor de CD.

O que eu quero dizer é que os erros CRC dependem muito do Hardware. Não desista na primeira tentativa. O erro pode estar sendo causado por uma sujeira ou risco na mídia em questão ou no hardware que irá receber os dados (o sensor do drive de CD), portanto tenha certeza que os dois estão em perfeitas condições.

Espero que tenha ajudado pessoal!'http://www.babooforum.com.br/idealbb/images/smilies/4.gif'http://www.babooforum.com.br/idealbb/images/smilies/4.gif 


Quem quiser ver o texto original esta aqui o link: AQUI