Page 2 sur 3

Re: Xor

Publié : ven. 07/sept./2012 15:28
par Ar-S
Je vais t'appeler idéfix :mrgreen:

regarde le debug

Code : Tout sélectionner

message$="a"
b$=""

For u=1 To Len(message$)
  c=Asc(Mid(message$,u,1))
  If c = 65
    Debug Mid(message$,u,1) + " => 65 tout comme ton b donc 65 ! 65 fera 0"
  Else
    Debug Mid(message$,u,1) + "<> 65" 
  EndIf
  b=65 ; on xorise le a
  c=c ! b
  b$+Chr(c)
Next
               
Debug b$



message$="az"
b$=""

For u=1 To Len(message$)
  c=Asc(Mid(message$,u,1))
  If c = 122
    Debug Mid(message$,u,1) + " = 122 tout comme ton b donc 122 ! 122 fera 0"
  Else
    Debug Mid(message$,u,1) + "<> 122" 
  EndIf
  b=122 ; on xorise le z
  c=c ! b
  b$+Chr(c)
Next
               
Debug b$
C'est donc normal que ton z retourne chr(0) vu que 122!122 = 0

Re: Xor

Publié : ven. 07/sept./2012 15:35
par Golfy
Non !
ton affirmation est fausse : "ce code xorise un 'a' (chr(65)) avec le nombre 65. Ca donne 0." Faux, ça donne 32 (chr(32) = ESPACE donc n'affiche rien)
--> 'a' = chr(97) ==> 97 ! 65 = 32
--> 'A' = chr(65) ==> 65 ! 65 = 0

de même avec le z (miniscule dont le code ASCII est 122) alors que Z = ASCII de 90

As-tu essayé mon code (COPIER/COLLER dans Purebasic) pour comprendre ? il affiche le résultat du XOR caractère par caractère puis le résultat final entre crochet (pour voir les espaces avant ou après).

Je te garantis qu'il n'y a pas d'erreur avec le code (mais avec le nombre que tu utilise pour le XOR du 'a' minuscule).

Re: Xor

Publié : ven. 07/sept./2012 16:06
par SPH
oui j'ai regardé vos codes mais ca ne m'a pas apporté la reponse. Par contre, je sais comment contourner le probleme.

Re: Xor

Publié : ven. 07/sept./2012 16:11
par Golfy
SPH a écrit :oui j'ai regardé vos codes mais ca ne m'a pas apporté la reponse. Par contre, je sais comment contourner le probleme.
Bon, alors ça c'est cool :wink:

Re: Xor

Publié : ven. 07/sept./2012 16:26
par SPH
Golfy a écrit :
SPH a écrit :oui j'ai regardé vos codes mais ca ne m'a pas apporté la reponse. Par contre, je sais comment contourner le probleme.
Bon, alors ça c'est cool :wink:
Quoi que... contourner va me prendre + de temps que de trouver le bug.

Re: Xor

Publié : ven. 07/sept./2012 16:27
par falsam
Je me disais bien aussi que ce n'était pas la fin de ce post :p

Re: Xor

Publié : ven. 07/sept./2012 16:32
par Ar-S
Pour moi ce problème n'existe pas.
Donc si effectivement il y a problème, que quelqu'un qui l'a compris me l'expose.

Re: Xor

Publié : ven. 07/sept./2012 16:40
par SPH
Grosse precision : depuis tout a l'heure, je me borne a croire que le code ascii de 'a' est 65 alors qu'il est de 97. Ceci dit, je vais de ce pas verifier si ce n'est pas moi qui me gourre... :|

Re: Xor

Publié : ven. 07/sept./2012 16:52
par Ar-S
depuis tout a l'heure, je me borne a croire que le code ascii de 'a' est 65 alors qu'il est de 97. Ceci dit, je vais de ce pas verifier si ce n'est pas moi qui me gourre.
ça sert pas à grand chose qu'on te réponde. Golphy l'a écrit plus haut...

imprime les s'il le faut !

Code : Tout sélectionner

a$ = "abcdefghijklmnopqrstuvwxyz"
N = Len(a$)

For i = 1 To N
  Debug Mid(a$,i,1) + Str(Asc(Mid(a$,i,1)))
  
Next

Re: Xor

Publié : ven. 07/sept./2012 17:01
par SPH
Je me suis gourré sur toute la ligne. Bon, alors je vais contourner le probleme (ca m'arrange pas) :cry:

Re: Xor

Publié : ven. 07/sept./2012 17:04
par Golfy
SPH a écrit :Grosse precision : depuis tout a l'heure, je me borne a croire que le code ascii de 'a' est 65 alors qu'il est de 97. Ceci dit, je vais de ce pas verifier si ce n'est pas moi qui me gourre... :|
Image

Re: Xor

Publié : ven. 07/sept./2012 17:05
par Golfy
SPH a écrit :Je me suis gourré sur toute la ligne. Bon, alors je vais contourner le probleme (ca m'arrange pas) :cry:
Au lieu de présenter un algorithme en disant que ça ne marche pas, peux-tu expliquer la fonction que tu souhaites réaliser ?
Bon je rentre chez moi :roll:

Re: Xor

Publié : ven. 07/sept./2012 17:08
par Ar-S
Image

Re: Xor

Publié : ven. 07/sept./2012 17:09
par SPH
Golfy a écrit :
SPH a écrit :Je me suis gourré sur toute la ligne. Bon, alors je vais contourner le probleme (ca m'arrange pas) :cry:
Au lieu de présenter un algorithme en disant que ça ne marche pas, peux-tu expliquer la fonction que tu souhaites réaliser ?
Bon je rentre chez moi :roll:
C'est pour mon hypercrypttchat. Il bug dans un cas : quand les xor finissent par donner 0 (si tu n'as rien pigé, c'est pas grave, c'est technique)

Bon, je me fais tout petit, vous permettez ?

Re: Xor

Publié : ven. 07/sept./2012 17:42
par SPH
Ar-S a écrit :Image
Moi aussi.
Mais je tiens a dire un truc : que tu n'ai pas de regrets d'avoir participé ! ok ? :|