|
| cryptage decryptage entre wdm et api |
| Iniciado por Laurent HERMANN, 18,ago. 2025 14:13 - 15 respuestas |
| |
| | | |
|
| |
Miembro registrado 352 mensajes |
|
| Publicado el 18,agosto 2025 - 14:13 |
bonjour,
mon app mobile wdm s'authentifie au travers d'une API en wd
j'envoie via entete http le mdp crypté
extrait coté wdm
taV["password"] = cryptepass(SAI_Password) PROCEDURE INTERNE cryptepass(spassword) bufMsg est un Buffer = spassword bufclé est un Buffer = HashChaîne(HA_HMAC_SHA_256, "Cm*i8RRZ*h88") RENVOYER Encode(CrypteStandard(bufMsg,bufclé,crypteAES256),encodeBASE64SansRC) FIN
... POUR TOUT sVal, sClé de taV restReq..Entête[sClé] = UTF8(sVal) FIN restRep est un restRéponse = RESTEnvoie(restReq) ...
coté API
sPassANSI est une chaîne ANSI = Entête("password") bufRecept est un Buffer = Decode(sPassANSI,encodeBASE64SansRC) bufclé est un Buffer = HashChaîne(HA_HMAC_SHA_256, "Cm*i8RRZ*h88") sLePass est une chaîne = DécrypteStandard(bufRecept,bufclé,crypteAES256)
...
SI REQ_Appli_identification.HashPass<>Hasher(sLePass) ALORS
Procedure Hasher(sTxt)
RENVOYER BufferVersHexa(HashChaîne(HA_SHA3_512,ChaîneVersUTF8(sTxt + Sel)),SansRegroupement,SansLigne)
ce code fcte tres bien entre mon app desktop wd et l'api mais avec wdm la variable sLePass est vide
je ne comprends pas pourquoi ?? merci
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 923 mensajes |
|
| Publicado el 18,agosto 2025 - 20:16 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 19,agosto 2025 - 07:56 |
merci Ruben
coté wdm, j'ai crypté avec unicodeversansi le champ mot de passe mais ça n'a rien changé
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 19,agosto 2025 - 08:10 |
j'ai fait ce test dans une fenêtre wdm:
sPass est une chaîne = cryptepass("monmotdepasse")
sPassANSI est une chaîne = sPass bufRecept est un Buffer = Decode(sPassANSI,encodeBASE64SansRC) bufclé est un Buffer = HashChaîne(HA_HMAC_SHA_256, "Cm*i8RRZ*h88") sLePass est une chaîne = DécrypteStandard(bufRecept,bufclé,crypteAES256)
slapssh est une chaîne =Hasher(sLePass)
PROCEDURE INTERNE cryptepass(spassword) bufMsg est un Buffer = spassword bufclé2 est un Buffer = HashChaîne(HA_HMAC_SHA_256, "Cm*i8RRZ*h88") RENVOYER Encode(CrypteStandard(bufMsg,bufclé2,crypteAES256),encodeBASE64SansRC) FIN PROCEDURE INTERNE hasher(sTxt) Sel est une chaîne = "vm7UffT7m#PY$T@EeiEk5rdqM$^iNcHqTWX%uC*j*Tt@$uX#6UZoswKjxdF3" RENVOYER BufferVersHexa(HashChaîne(HA_SHA3_512,ChaîneVersUTF8(sTxt + Sel)),SansRegroupement,SansLigne) FIN
et je recupere bien le bon mot de passe haché
-- LHMensaje modificado, 19,agosto 2025 - 08:11 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 19,agosto 2025 - 11:03 |
mais si j'implemente , dans l'api le mot de passe haché n'est pas lu
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 537 mensajes |
|
| Publicado el 19,agosto 2025 - 13:47 |
quand tu appelles l'api depuis wdm tu recois quoi dans sPassANSI est une chaîne ANSI = Entête("password") |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 19,agosto 2025 - 15:43 |
je viens de tester entre ce qui est envoyé en entete et ce que reçoit l'api c'est identique
password = I4CBG1HUUuzX6TTZKxfI+sIyxH8F0xQA5dXLV8kh5Ski4XgKezW9OKgLjqUVYSK2RS5Dq4wFU8UifiuJoOPB1BcIGDs8UBqFKkAl7DTfpIY=
stef1811 a écrit :
quand tu appelles l'api depuis wdm tu recois quoi dans sPassANSI est une chaîne ANSI = Entête("password")
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 19,agosto 2025 - 15:51 |
je pense que la syntaxe sLePass est une chaîne = DécrypteStandard(bufRecept,bufclé,crypteAES256) me pose pb car ne renvoie rien...
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.748 mensajes |
|
| Publicado el 19,agosto 2025 - 18:01 |
Laurent HERMANN a écrit :
je pense que la syntaxe sLePass est une chaîne = DécrypteStandard(bufRecept,bufclé,crypteAES256) me pose pb car ne renvoie rien...
-- LH Sur mobile il faut écrire
sLePass est une chaîne ANSI Ainsi tu est sur de ne pas être en unicode |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 20,agosto 2025 - 07:44 |
bjr popoy, en fait ça ne change rien...
je redecris : cote wdm
sPass est une chaîne = cryptepass("monmotdepasse")
PROCEDURE INTERNE cryptepass(spassword) bufMsg est un Buffer = spassword bufclé2 est un Buffer = HashChaîne(HA_HMAC_SHA_256, "Cm*i8RRZ*h88") RENVOYER Encode(CrypteStandard(bufMsg,bufclé2,crypteAES256),encodeBASE64SansRC) FIN
coté api windows :
sPassANSI est une chaîne ANSI = sPass bufRecept est un Buffer = Decode(sPassANSI,encodeBASE64SansRC) bufclé est un Buffer = HashChaîne(HA_HMAC_SHA_256, "Cm*i8RRZ*h88") sLePass est une chaîne = DécrypteStandard(bufRecept,bufclé,crypteAES256)
slapssh est une chaîne =Hasher(sLePass)
PROCEDURE INTERNE hasher(sTxt) Sel est une chaîne = "vm7UffT7m#PY$T@EeiEk5rdqM$^iNcHqTWX%uC*j*Tt@$uX#6UZoswKjxdF3" RENVOYER BufferVersHexa(HashChaîne(HA_SHA3_512,ChaîneVersUTF8(sTxt + Sel)),SansRegroupement,SansLigne) FIN
mon soucis est que la variable coté api sLepass est vide alors que tout passe bien entre wdm et api
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 20,agosto 2025 - 07:51 |
j'ai refait un test en lisant la variable bufRecept coté api :voici ce que contient la variable {"rlo":".��_�x��ϳ����PHj�,^�<\n>8� �_�WW�M|���ϣ���&Jv�W��7��Eɮ�l;��}�f9d��=ey�
-- LH |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 20,agosto 2025 - 08:06 |
ce qui me semble logique vu que c'est du binaire...
mais ensuite sLepass est vide j'ai lu que decryptestandard renvoi un buffer, j'ai testé mais ça ne change rien -- LHMensaje modificado, 20,agosto 2025 - 08:17 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 537 mensajes |
|
| Publicado el 20,agosto 2025 - 13:28 |
Résultat : Buffer binaire
•Chaîne vide ("") en cas d'erreur. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo. pb de decryptage du msg passé en parametre Tu testes si erreur detectée dans ErreurInfo ?Mensaje modificado, 20,agosto 2025 - 13:29 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.748 mensajes |
|
| Publicado el 20,agosto 2025 - 15:47 |
Salut, J'ai écrit côté mobile donc wdm
sPass est une chaîne ansi Le mieux est de le préciser sur toutes les chaînes Que ce soit en windev(Windows), windev mobile (Android Ios) et webdev Ton retour ressemble à du jsonMensaje modificado, 20,agosto 2025 - 15:50 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.748 mensajes |
|
| Publicado el 20,agosto 2025 - 15:47 |
Salut, J'ai écrit côté mobile donc wdm
sPass est une chaîne ansi Le mieux est de le préciser sur toutes les chaînes Que ce soit en windev(Windows), windev mobile (Android Ios) et webdev De plus, ton retour ressemble à du jsonMensaje modificado, 20,agosto 2025 - 15:51 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 20,agosto 2025 - 15:54 |
bonne idée voici l'erreur coté api "le decryptage du message a echoué. la phase de finalisation de l'algorithme de cryptage /decryptage a echoué"
nous voilà propre  ce qui explique bine ma variable vide
pourtant ce même code fcte trés bien entre la version destop (wd) et l'api

-- LH |
| |
| |
| | | |
|
| | | | |
| | |
|