PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Crypter en mysql, décrypter en wlangage
Crypter en mysql, décrypter en wlangage
Iniciado por roumegou, 30,sep. 2019 12:27 - 6 respuestas
Publicado el 30,septiembre 2019 - 12:27
Bonjour,
je retente ma chance. Si vous avez la réponse, vous me sortiriez d'une
impasse.

je veux pouvoir crypter une donnée directement en mysql avec
aes_encrypt
et récupérer la donnée et la décrypter en wlangage.

Quelle syntaxe dois-je utiliser en mysql pour pouvoir le decrypter en
wlangage avec DecrypteStandard ?

j'ai essayé des tas de combinaisons sans succès.
Si vous pouviez me donner une combinaison qui marche, avec le côté
mysql et le côté wlangage, ce serait vraiment sympa.

Merci.

--
Roumegou Eric

--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Miembro registrado
2.682 mensajes
Publicado el 30,septiembre 2019 - 14:48
Bonjour,

Ce ne serait pas un problème d'encodage avec l'utf8 ?

--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 30,septiembre 2019 - 16:11
Philippe SB avait écrit le 30/09/2019 :
Bonjour,

Ce ne serait pas un problème d'encodage avec l'utf8 ?


Bonjour Philippe
Merci de ta réponse

peut être ??
mais je voudrais savoir déjà si une zone cryptée avec la cde
aes_encrypt de mysql peut se décrypter avec DecrypteStandard du
wlangage

et si oui, effectivement comment ?
car déjà se posent les pb de longueurs de clé (128, 256 ...)

par exemple cela en mysql (on fait simple bien sûr)
CREATE TABLE test ENGINE=MYISAM
SELECT AES_ENCRYPT('my RGPD is rich','chut!secret') AS Z1 FROM DUAL
donc 'my RGPD is rich' que j'encrypte avec le mot de passe
'chut!secret'

pour le décrypter (toujours en mysql)
SELECT AES_DECRYPT(z1,'chut!secret') AS Z1 FROM test

je retombe bien sur 'my RGPD is rich'

Mais je voudrais décrypter en wlangage ! et là pas moyen de trouver le
truc
Il faut peut être donner des mots de passe d'une certaine façon ? j'ai
essayé des SHA, SHA1, MD5 ...

là j'en suis arrivé à un point que j'ai l'impression qu'il peut y avoir
une bonne syntaxe mais qui ne s'invente pas !

Merci à tous de votre aide

--
Roumegou Eric

--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Miembro registrado
2.682 mensajes
Publicado el 30,septiembre 2019 - 18:16
Selon la doc Oracle, il est conseillé de faire un hash du mot de passe avant de crypter les données. Dans ce cas, il te suffit de faire un hash identique des 2 côtés.

Tu peux un Trace() de la valeur en hexa pour la comparer au hash MySQL.

Pour windev,
HashChaîne(HA_MD5_128,ChaîneVersUTF8("password"))


--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 02,octubre 2019 - 17:13
Philippe SB avait écrit le 30/09/2019 :
Selon la doc Oracle, il est conseillé de faire un hash du mot de passe avant
de crypter les données. Dans ce cas, il te suffit de faire un hash identique
des 2 côtés.

Tu peux un Trace() de la valeur en hexa pour la comparer au hash MySQL.

Pour windev,
HashChaîne(HA_MD5_128,ChaîneVersUTF8("password"))


Merci de ta réponse Philippe

bonne idée du debug
je peux trouver la même clé si je repasse en minuscule et enlève les
blancs

secret="monPwd!àMoa"
bufClé,bufCléMysql est un Buffer
bufClé= BufferVersHexa(HashChaîne(HA_MD5_128, secret))
bufClé=Minuscule(Remplace(bufClé," ",""))

secret = "
bufClé= BufferVersHexa(HashChaîne(HA_MD5_128, secret))

est egal à SELECT (MD5('monPwd!àMoa'))
(à noter que si je fais un chaineversutf8; cela ne donne pas la même
chose)
mais ensuite le decryptestandard plante sur taille de clé (256) ne
correspond pas à la taille de clé 256.

si je met un w1=DécrypteStandard(wch1,bufClé,crypteAES256)

là je ne plante plus mias le decryptage échoue.
En fait j'ai essayé les 4 combinaisons de decryptestandard; seule la
crypteAES256 ne plante pas mais aucune ne fonctionne

donc toujours dans une impasse
j'en viens à me dire que cela n'est pas possible.

--
Roumegou Eric

--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Miembro registrado
2.682 mensajes
Publicado el 03,octubre 2019 - 07:01
Si tu utilises de l'AES 256, ta clé doit faire 256 bits, essaye le hash avec HA_SHA_256 ou HA_SHA3_256 selon ce que supporte MySQL.

--
Cordialement,

Philippe SAINT-BERTIN
Publicado el 04,octubre 2019 - 16:14
Philippe SB a écrit :
Si tu utilises de l'AES 256, ta clé doit faire 256 bits, essaye le hash avec
HA_SHA_256 ou HA_SHA3_256 selon ce que supporte MySQL.


merci de ta réponse
la clé est bonne avec MD5 puisque je debuggue la même valeur et qu'en
256 il n'y a pas de plantage
c'est le decryptestandard qui ne correspond pas.

--
Roumegou Eric

--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus