PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Equivalent du décryptage aes_encrypt de mysql
Equivalent du décryptage aes_encrypt de mysql
Iniciado por Roumegou Eric, set., 23 2019 10:40 AM - 4 respostas
Publicado em setembro, 23 2019 - 10:40 AM
Bonjour

je cherche en wlangage à décrypter une valeur qui a été cryptée avec
aes_encrypt

(bien sûr je sais le décrypter avec aes_decrypt ! mais je voudrais le
faire en code Wlangage)

donc ma requete
SELECT
matable.ppl_id AS ppl_id,
AES_ENCRYPT(ppl_login,'monpassword') AS çppl_login,
AES_ENCRYPT(ppl_refext,'monpassword') AS cppl_refext
FROM matable WHERE lvl_id=80002;

et en lecture

secret="monpassword"
bufClé est un Buffer = HashChaîne(HA_MD5_128, secret)

et dans ma boucle de lecture

NumCol++;wch1=DécrypteStandard(fSQL:mySQLCol(lCurReq,NumCol),bufClé,crypteAES128)
NumCol++;wch2=DécrypteStandard(fSQL:mySQLCol(lCurReq,NumCol),bufClé)
NumCol++;wch3=DécrypteStandard(fSQL:mySQLCol(lCurReq,NumCol),bufClé)


attendu que fSQL:mySQLCol(lCurReq,NumCol est une fn de ma classe qui me
renvoie le contenu.
wch1,wch2 sont des chaines mais j'ai essayé aussi avec un déclaration
en buffer

Là ça me retourne vide et en debug un msg qui me dit que la phase de
finalisation de l'algo cryptage/decryptage a échoué.
si je ne fait pas le hashchaine du mot de passe j'ai un message qui
gueule sur la taille de la clé qui ne fait pas 128.

Je vous remercie par avance de vos éclaircissements.

--
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
Publicado em setembro, 23 2019 - 2:16 PM
Bonjour,

Peut-être pourrais-tu essayer en mettant la valeur d'entrée dans un buffer (J'ai une fonction de décryptage dans une appli, je ne me souviens pas pourquoi, mais je suis passé par un buffer…)

wEntreeBuf est un buffer=fSQL:mySQLCol(lCurReq,NumCol)
DécrypteStandard(wEntreeBuf,bufClé,crypteAES128)
Membro registado
3.886 mensagems
Popularité : +227 (347 votes)
Publicado em setembro, 23 2019 - 3:06 PM
Rémy BISSON a écrit :
je ne me souviens pas pourquoi, mais je suis passé par un buffer…

Tout simplement parce que le prototype de DécrypteStandard le demande : https://doc.pcsoft.fr/fr-FR/?1000021294&name=decryptestandard_fonction

--
Il y a peut être plus simple, mais, ça tourne
Mensagem modificada, setembro, 23 2019 - 3:10 PM
Publicado em setembro, 24 2019 - 2:48 PM
Voroltinquo avait écrit le 23/09/2019 :
Rémy BISSON a écrit :
je ne me souviens pas pourquoi, mais je suis passé par un buffer…

Tout simplement parce que le prototype de DécrypteStandard le demande :

https://doc.pcsoft.fr/fr-FR/?1000021294&name=decryptestandard_fonction


merci de vos réponses
oui j'ai bien testé avec des buffers
je pense vouloir faire quelque chose de simple tout de même ??

crypter en mysql, decrypter en wlangage/
le problème, c'est peut être cette clé à fixer en 128 bit ? je suis
prêt à changer les parmètres du cryptage côté mysql mais cela ne

A chaque fois que j'essaie de travailler sur ces histoires de
cryptage/decryptage j'en arrive à abandonner.
Et mes recherches sur l'historique google ne me donne pas plus de
solution si ce n'est que des "prises de bec" techniques.
Bref cela n'a rien de "standard"

je propose un renommage des fonctions en
CrypteAmafaçon,DecrypteAmafaçon
:-@
ou CrypteQuepourMagueule ...c'est bien aussi

--
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
Publicado em setembro, 24 2019 - 3:02 PM
Roumegou Eric a présenté l'énoncé suivant :
Bonjour



Donc à priori les clés sont en 256 bits si j'utilise la clé calculée
par mysql avec md5. Pas de plantage sur la clé mais le décryptage
retourne du vide.


wch1,wch2 sont des buffers
cmd=[
SELECT (MD5('pwd12345678')),AES_ENCRYPT(ppl_refext,MD5('pwd12345678'))
FROM people WHERE lvl_id=69502 LIMIT 1
]
lCurReq=1
SI fSQL:mySQLExec(cmd,lCurReq) ALORS
fSQL:mySQLPremier(lCurReq)
TANTQUE PAS fSQL:mySQLEnDehors
NumCol=0
NumCol++;wch2=fSQL:mySQLCol(lCurReq,NumCol)
NumCol++;wch1=fSQL:mySQLCol(lCurReq,NumCol)
w1=DécrypteStandard(wch1,wch2,crypteAES256)
fSQL:mySQLSuivant(lCurReq)
FIN //TANTQUE pas fSQL:mySQLEnDehors
SINON
fSQL:mySQLMsgBox(cmd)
FIN
fSQL:mySQLFerme(lCurReq)


Franchement, j'aimerai bien savoir si quelqu'un(e) a déjà utilisé ces
focntions en dehors du wlangage ?


--
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