| |
Membre enregistré 342 messages |
|
Posté le 18 août 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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 909 messages |
|
Posté le 18 août 2025 - 20:16 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 19 août 2025 - 07:56 |
merci Ruben
coté wdm, j'ai crypté avec unicodeversansi le champ mot de passe mais ça n'a rien changé
-- LH |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 19 août 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é
-- LHMessage modifié, 19 août 2025 - 08:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 19 août 2025 - 11:03 |
mais si j'implemente , dans l'api le mot de passe haché n'est pas lu
-- LH |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 530 messages |
|
Posté le 19 août 2025 - 13:47 |
quand tu appelles l'api depuis wdm tu recois quoi dans sPassANSI est une chaîne ANSI = Entête("password") |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 19 août 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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 19 août 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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 710 messages |
|
Posté le 19 août 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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 20 août 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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 20 août 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 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 20 août 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 -- LHMessage modifié, 20 août 2025 - 08:17 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 530 messages |
|
Posté le 20 août 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 ?Message modifié, 20 août 2025 - 13:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 710 messages |
|
Posté le 20 août 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 jsonMessage modifié, 20 août 2025 - 15:50 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 710 messages |
|
Posté le 20 août 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 jsonMessage modifié, 20 août 2025 - 15:51 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 342 messages |
|
Posté le 20 août 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 |
| |
| |
| | | |
|
| | |