Bonjour à tous et à toutes ,
Je cherche a comprendre le fonctionnement du checksum quand je calcul mon fichier.bin et ceci avec un logiciel éxterne dont voici l'évolution du checksum a chaque chnagement fait par l'utilisateur .
Je vais faire quelques exemples pour comprendre ce checksum :
le checksum actuel : 31 22 05 70 89 02 20 7E
Checksum calculé : 81 0C CA 8C FE 2A 38 7B
On va changer juste le premier OCTET de la chaine et on va voir le changement du premier OCTET .
On va incrémenter d'un BYTE la premiére chaine pour voir le chnagement des BYTES dans la 2 éme chaine :
41 22 05 70 89 02 20 7E
Résultat aprés incrémentation d'un Byte Gauche dans la 2 éme chaine :
F1 0C CA 8C FE 2A 38 7B
51 22 05 70 89 02 20 7E
Résultat aprés incrémentation d'un Byte de gauche dans la 2 éme chaine :
E1 0C CA 8C FE 2A 38 7B
On monte toujours d'un Byte de gauche c'est à dire de 51 a 61
61 22 05 70 89 02 20 7E
D1 0C CA 8C FE 2A 38 7B
Plus on ajoute un byte on remarquera que y'a une décrementation .
Premier Octet CRC 1 : 61
Premier Octet CRC 2 Calculé : D1
Premier Octet CRC 71
Premier Octet CRC 2 Calculé : C1
Dés qu'on arrive au 8 l'algo fais l'inverse c'est ç dire décremente i-- ;
Premier Octet CRC : 81
Premier Octet CRC 2 Calculé : 31
Premier Octet CRC : 91
Premier Octet CRC 2 Calculé : 21
Pour le Byte de Droite c'est simple plus on ajoute un byte plus il sera ajoutée à la deuxiéme chaine CRC genérer c'est à dire si on ajoutes +1 on a +1 .
CRC 1 : 32 22 05 70 89 02 20 7E
Résultat CRC 2 Calculé : 82 0C CA 8C FE 2A 38 7B
CRC 1 : 33 22 05 70 89 02 20 7E
Résultat CRC 2 Calculé : 83 0C CA 8C FE 2A 38 7B
CRC 1 : 34 22 05 70 89 02 20 7E
Résultat CRC 2 Calculé : 85 0C CA 8C FE 2A 38 7B
CRC 1 : 37 22 05 70 89 02 20 7E
Résultat CRC 2 Calculé : 87 0C CA 8C FE 2A 38 7B
Et ainsi de suite .
Le Byte de GAUCHE et incrémenter d'un BYTE i ++
Le Byte de DROITE et décrémenter d'un BYTE i --
Fred .
C'est les premiers TESTS éffectués sur ce type de Checksum .
Partager