Quel est ce langage? et qu'est-ce que cela veut dire?

Signaler
Messages postés
3
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
15 août 2011
-
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Bonjour,

je ne sais pas si je poste dans la bonne catégorie du forum, mais je souhaiterai savoir ce que vous pensez du code suivant et si les personnes qui savent l'expliquer pourraient m'en faire un rapide compte rendu (simple SVP car, meme si je maitrise un peu du VB, pour le reste...)

Voici le code en question:

full = form["A"] + form["B"][4:8] 

crc =
CRC32().crc32(full)
code = ((crc ^ 0xaaaa) + 0x14c1) % 100000

Pour la première ligne, je sais qu'on stock dans full la constante A + la concaténation de B (des caractères 4 à 8)
(non?!)

mais pour les 2 lignes du dessous, j'ai un peu de mail. On doit calculer un CRC32 de full qu'on stocke dans la constante CRC, mais apres... ?

Si vous pouviez m'aider! je vous en remercie d'avance!

1 réponse

Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Salut,
Ce n'est pas du C.
Pour la ligne crc = CRC32().crc32(full) on ne peut pas savoir, on ne sait ni ce que retourne CRC32() ni son attribut crc32()
Pour la ligne code = ((crc ^ 0xaaaa) + 0x14c1) % 100000 c'est un simple calcul de maths :
- on fait un OU exclusif (XOR) entre 'crc' (calculé à la ligne précédente) et AAAA (en héxa)
- on ajoute 14C1 (en héxa) au résultat précédent
- on calcule le modulo par 100000 du résultat précédent

Pour le XOR, quelques exemples :
1 xor 1 = 0
1 xor 0 = 1
donc 1101 xor 1001 = 0100

Pour le modulo, c'est le reste d'une division entière :10 % 3 1, car 10 / 3 3 et reste 114 % 4 2, car 14 / 4 3 et reste 2

En espérant t'avoir éclairci.

Cordialement, uaip.