Salut,
J'ai cherché en vain des explications sur la méthode de calcul d'un CRC 32 bits sur le net. On ne tombe que sur des sites qui vous bourrines de formules mathématiques que si tu sorts pas tout juste de BTS beh tu peut toujours courir pour comprendre. (moi j'ai quitté l'école depuis trop longtemps pour me souvenir de formules comme celles là).
Bref je suis tombé sur ce site en anglais => http://www.createwindow.com/programming/crc32/ qui n'explique toujours pas comment obtenir ce résulat de manière simple mais qui donne en tout les cas le source d'un calcul CRC32 sur une chaîne de caractères.
J'ai repris ce code, j'ai dégagé tout ce qui était MFC et programmation orientée Objet (oui je vous l'ai dit, ça fait longtemps que j'ai quitté le bahut et de mon temps y avait que du C et pas de C++) pis je l'ai adapté pour qu'il calcule le CRC32 d'un fichier quelconque (Attention ce fichier ne doit pas excéder 4Go mais bon j'en connais peu des fichiers comme ça ;).
Alors bon, ça fonctionne très bien. Vous pouvez le confirmer en affichant la colonne CRC dans Winzip (bouton droit dans les colonnes de Winzip et cocher CRC).
Je suis dégouté, j'aurais voulu le pondre moi-même ce code mais faute d'informations sur le CRC32 y'a fallu trouver une autre astuces.....la re-pompe...
Pour utiliser la fonction, il suffit par exemple de faire une ligne (ou 2 ;) comme celà:
DWORD TailleFichier;
DWORD CRC32 = CRC32_Fichier ("c:\\MonFichier.exe",&TailleFichier);
Ah oui, j'en profite pour récupérer la taille du fichier. C'est utile pour mon projet mais rien ne vous empêche de le faire sauter.
Bonne redondance et @+.