Salut,
Envoyé par
fdesl
pourquoi le polynome est 0x104c11db7 et non 0x4c11db7 comme le dit la littéraure, je vois bien que l'erreur est évitée mais je ne comprends pas pourquoi. et deuxième question : que veut dire le b avant '123465789' ?
Le "b" est la conséquence de mon utilisation de Python3.
Pour les autres questions: il faut lire la documentation Ethernet, voir quel polynôme ils utilisent, voir comment est gérée l'alignement de la fin des paquets,... et, in fine, traduire cela par des paramètres de fonctions de crcmod. C'est un exercice fort intéressant mais relativement ardu et sans rapport avec la programmation Python.... Je laisse cela a ce qui ont plus de temps.
- W
PS: Le polynôme utilisé par Ethernet est:
G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Après on prend 0x104c11db7, on le transforme en binaire:
1 2
| >>> bin(0x104c11db7)
'0b100000100110000010001110110110111' |
yapluska vérifier que les 1 correspondent à ceux du polynôme: beurk! Et le reste est du même acabit.
Partager