PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Transformer Hexa en chaine
Transformer Hexa en chaine
Débuté par Sylvain, 22 sep. 2021 15:17 - 6 réponses
Membre enregistré
31 messages
Popularité : +2 (2 votes)
Posté le 22 septembre 2021 - 15:17
Bonjour,

Je n'arrive pas à transformer le résultat d'un hash en chaine de caractère.

BufferVersHexa(HashChaîne(HA_HMAC_MD5_128,sMDP))


Donc dans ce bout de code je convertis le résultat de mon Hash en Hexadécimal ce qui me donne
80 5A D9 E2 1C FE A1 41 E0 24 CE A1 57 C4 0C 79

Et je n'arrive pas à convertir cette chaine héxadécimal en chaine de caractère.

En gros j'ai besoin de récupérer le résultat de mon hash en chaine de caractère, je pensais que c'était la meilleur solution de convertir le résultat du hash en hexa puis en chaine mais je suis bloqué, j'ai essayé pleins de conversion mais je n'arrive pas au résultat escompté.

Merci.
Membre enregistré
3 887 messages
Popularité : +227 (347 votes)
Posté le 22 septembre 2021 - 18:32
Bonjour,
As tu regardé du côté de Caract ?
Un truc du style
Procedure HexaVersChaine(saMonHexa est chaîne)
nOffset est entier
saRes est une chaîne
nMonASCII est entier

saMonHexa=SansEspace(saMonHexa,sscTout)
POUR nOffset=1 _À_ Taille(saMonHexa)-1 PAS 2
nMonASCII=Val(saMonHexa[nOffset À nOffset+1],"x")

SI saRes="" ALORS
saRes=Caract(nMonASCII)
SINON
saRes=ChaîneConstruit("%1%2",saRes,Caract(nMonASCII))
FIN
FIN

RENVOYER saRes


--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
3 887 messages
Popularité : +227 (347 votes)
Posté le 22 septembre 2021 - 18:34
oops lire
FONCTION HexaVersChaine(saMonHexa est chaîne) : chaîne

Au lieu de
Procedure HexaVersChaine(saMonHexa est chaîne)


ça ne change rien mais c'est plus "propre"

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
286 messages
Popularité : +24 (28 votes)
Posté le 23 septembre 2021 - 12:51
Bonjour

Je me demande si le code ci-dessous :
SI saRes="" ALORS
saRes=Caract(nMonASCII)
SINON
saRes=ChaîneConstruit("%1%2",saRes,Caract(nMonASCII))
FIN

ne pourrait pas tout simplement être remplacé par :
saRes += Caract(nMonASCII)

Bien Cordialement
Membre enregistré
3 887 messages
Popularité : +227 (347 votes)
Posté le 23 septembre 2021 - 13:06
Il peut, mais je déteste utiliser "+" dans les manipulations de chaînes.
Certains langages n'aiment pas trop donc je manipule les chaînes avec des fonctions de chaînes. ça m'évite des surprises

--
Il y a peut être plus simple, mais, ça tourne
Posté le 23 septembre 2021 - 13:37
je comprend pas la question....

Je n'arrive pas à transformer le résultat d'un hash en chaine de caractère.

BufferVersHexa(HashChaîne(HA_HMAC_MD5_128,sMDP))


Donc dans ce bout de code je convertis le résultat de mon Hash en Hexadécimal ce qui me donne
80 5A D9 E2 1C FE A1 41 E0 24 CE A1 57 C4 0C 79

Et je n'arrive pas à convertir cette chaine héxadécimal en chaine de caractère.


80 5A D9 E2 1C FE A1 41 E0 24 CE A1 57 C4 0C 79 EST UNE CHAINE DE CARACTERES... il n'y a RIEN à faire pour la transformer en ce qu'elle est déj)
Membre enregistré
31 messages
Popularité : +2 (2 votes)
Posté le 27 septembre 2021 - 09:54
@Voroltinquo,merci c'est ce que je cherchais :)

Cordialement,