A voir également:
- Crc16 python
- Citizen code python avis - Accueil - Outils
- Python generator - Télécharger - Sécurité
- Mot secret python pix ✓ - Forum Python
- Python pix ✓ - Forum Python
4 réponses
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
16 juil. 2009 à 19:41
16 juil. 2009 à 19:41
Je ne connais pas le python mais pour t'expliquer le CRC j'en n'ai pas besoin
Tout d'abord il faut mettre tes valeurs en binaires pour 1821 ce sera 1100000100001
Ensuite tu as un polynôme il faut lui aussi l'écrire en binaire, en fait on ne garde que les coefficients, ici c'est 10011110101100101
Le principe du CRC c'est d'obtenir une "clé" de vérification, cette clé sera de taille 16 car ton polynôme est de degré 16, on va poser une division entre ton message (1821) suivi de 16 zéros et du polynôme
11000001000010000000000000000 / 10011110101100101
Ici on ne s'intéresse qu'au reste donc on ne va pas faire véritablement une division comme on l'entend d'habitude on va juste applique un XOR (ou exclusif) entre les nombres, le mieux est de les mettre l'un sous l'autre :
11000001000010000000000000000
10011110101100101
----------------------------------------------------
01011111101110101000000000000
On va réitérer l'opération autant de fois qu'il restera des nombres à gauche (ce qui n'est pas en gras).
Au final le CRC sera la valeur en gras.
Pour vérifier un CRC, au lieu de mettre 16 zéros (en gras) on met le CRC et en faisant le même calcul tu dois obtenir 16 zéros au final
Tout d'abord il faut mettre tes valeurs en binaires pour 1821 ce sera 1100000100001
Ensuite tu as un polynôme il faut lui aussi l'écrire en binaire, en fait on ne garde que les coefficients, ici c'est 10011110101100101
Le principe du CRC c'est d'obtenir une "clé" de vérification, cette clé sera de taille 16 car ton polynôme est de degré 16, on va poser une division entre ton message (1821) suivi de 16 zéros et du polynôme
11000001000010000000000000000 / 10011110101100101
Ici on ne s'intéresse qu'au reste donc on ne va pas faire véritablement une division comme on l'entend d'habitude on va juste applique un XOR (ou exclusif) entre les nombres, le mieux est de les mettre l'un sous l'autre :
11000001000010000000000000000
10011110101100101
----------------------------------------------------
01011111101110101000000000000
On va réitérer l'opération autant de fois qu'il restera des nombres à gauche (ce qui n'est pas en gras).
Au final le CRC sera la valeur en gras.
Pour vérifier un CRC, au lieu de mettre 16 zéros (en gras) on met le CRC et en faisant le même calcul tu dois obtenir 16 zéros au final
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
16 juil. 2009 à 19:45
16 juil. 2009 à 19:45
Voir aussi : Le contrôle des erreurs