PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Résultat étrange de  BufferVersHexa ......
Résultat étrange de BufferVersHexa ......
Débuté par Francois, 25 mai 2018 10:15 - 8 réponses
Membre enregistré
5 messages
Posté le 25 mai 2018 - 10:15
Bonjour je galère depuis un peu de temps avec le fonction CrypteStandard / DéCrypteStandard et je viens de trouver un problème singulier avec BufferVersHexa , En vérifiant ces simples ligne de code :

sMACHAINE est une chaîne = "09 7E EC 07 95 78 49 F5 94 01 EB 48 2A 1F DE 98"
bufMon_buffer est un Buffer = HexaVersBuffer(sMACHAINE)
sVerif est une chaîne = BufferVersHexa(bufMon_buffer)

Et bien contre toute attente et surtout la mienne j'ai :

sVerif = 90 E7 CE 70 59 87 94 5F 49 10 BE 84 A2 F1 ED 89

En fait les mots hexa ont ete inversés 09 et devenu 90 , 7E EZ etc .....

Y a surement un truc qui m'echappe la si quelqu'un a une idée ?

Ps: test en Webdev PHP ...
Posté le 25 mai 2018 - 10:47
Francois a pensé très fort :
Bonjour je galère depuis un peu de temps avec le fonction CrypteStandard /
DéCrypteStandard et je viens de trouver un problème singulier avec
BufferVersHexa , En vérifiant ces simples ligne de code :

sMACHAINE est une chaîne = "09 7E EC 07 95 78 49 F5 94 01 EB 48 2A 1F DE 98"
bufMon_buffer est un Buffer = HexaVersBuffer(sMACHAINE)
sVerif est une chaîne = BufferVersHexa(bufMon_buffer)

Et bien contre toute attente et surtout la mienne j'ai :

sVerif = 90 E7 CE 70 59 87 94 5F 49 10 BE 84 A2 F1 ED 89

En fait les mots hexa ont ete inversés 09 et devenu 90 , 7E EZ etc .....

Y a surement un truc qui m'echappe la si quelqu'un a une idée ?

Ps: test en Webdev PHP ...

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com


le truc qui me prend la tête et me fait tujurs perdre un temps de ouf
c'est des pb d'unicode, ansi ,utf8verschaine

essaye avec des trucs
sMACHAINE est une chaîne ANSI = "09 7E EC 07 95 78 49 F5 94 01 EB 48 2A
1F DE 98"
bufMon_buffer est un Buffer = HexaVersBuffer(sMACHAINE)
sVerif est une chaîne ANSI= BufferVersHexa(bufMon_buffer)
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 25 mai 2018 - 14:12
Bonjour,
cela me fait plus penser à un codage en mode LITTLE ENDIAN dans lequel le quartet de poids faible est stocké en position de msb tandis que le quartet de poids fort est stocké en position de lsb.
Vous exécutez le code sur un serveur Linux ?
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 25 mai 2018 - 15:14
Bonjour,

Dans l'exemple https://doc.pcsoft.fr/?1000019914 il n'y a pas d'espace dans la chaine à convertir ?

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
5 messages
Posté le 28 mai 2018 - 07:40
Bonjour le code est executé sur mon poste windows avec wamp je suis sur un projet en php.

J'avais aussi essayé de supprimer les espaces sur la chaine "09 7E EC 07 95 78 49 F5 94 01 EB 48 2A 1F DE 98"
c'est ideM les mots hexa sont inversé .
C est quand même fou que un fonction inverse ne donne pas le meme resultat initial HexaVersBuffer/BufferVersHexa .
Membre enregistré
5 messages
Posté le 28 mai 2018 - 09:56
Bon en fait c'est la fonction BufferVersHexa qui bug je pense.
En faisant un
bufMon_buffer est un Buffer = HexaVersBuffer("09 7E EC 07 95 78 49 F5 94 01 EB 48 2A 1F DE 98",1)
fSauveBuffer(fRepEnCours()+"/buffer.txt",bufMon_buffer)
Le fichier buffer.txt contient bien la chaine en hexa dans le bon ordre.

En faisant un :
sVerif est une chaîne = BufferVersHexa(bufMon_buffer,1)
Verif = 90 E7 CE 70 59 87 94 5F 49 10 BE 84 A2 F1 ED 89
Donc inversé

Si je fais
sVerif est une chaîne = BufferVersHexa(bufMon_buffer,2)
Verif = 7E09 07EC 7895 F549 0194 48EB 1F2A 98DE

BufferVersHexa inverse les octets ... pourquoi ? ..... Mystere .....
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 28 mai 2018 - 11:23
Bonjour

Sur une version ancienne de Webdev en mode développement:

chres est une chaîne
sMACHAINE est une chaîne = "09 7E EC 07 95 78 49 F5 94 01 EB 48 2A 1F DE 98"
bufMon_buffer est un Buffer = HexaVersBuffer(sMACHAINE)
sVerif est une chaîne = BufferVersHexa(bufMon_buffer)
SI sVerif = sMACHAINE ALORS
chres = "ok"
SINON
chres ="erreur"
FIN

me retourne "ok"
Quel est le résultat sur ton poste de développement ?

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
5 messages
Posté le 28 mai 2018 - 14:06
François SCHAAL a écrit :
Bonjour

Sur une version ancienne de Webdev en mode développement:

chres est une chaîne
sMACHAINE est une chaîne = "09 7E EC 07 95 78 49 F5 94 01 EB 48 2A 1F DE 98"
bufMon_buffer est un Buffer = HexaVersBuffer(sMACHAINE)
sVerif est une chaîne = BufferVersHexa(bufMon_buffer)
SI sVerif = sMACHAINE ALORS
chres = "ok"
SINON
chres ="erreur"
FIN

me retourne "ok"
Quel est le résultat sur ton poste de développement ?

--
Cordialement
François

http://intra.fr http://intrasoftware.fr



Bonjour le resultat est erreur ....
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 28 mai 2018 - 14:53
Donc effectivement un bug à signaler au support technique !

--
Cordialement
François

http://intra.fr http://intrasoftware.fr