PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Problème de décryptage, webservice REST vers appli WD mobile
Problème de décryptage, webservice REST vers appli WD mobile
Débuté par Malandain, 12 sep. 2025 11:34 - 1 réponse
Posté le 12 septembre 2025 - 11:34
Bonjours, j'ai un soucis de décryptage coté WD mobile j'ai ce message :
Appel WL :<\r><\n>Traitement de 'Clic sur BTN_SansNom1' (FEN_SansNom1.BTN_SansNom1), ligne 13<\r><\n>Fonction 'DécrypteStandard', syntaxe 1<\r><\n><\r><\n>Que s'est-il passé ?<\r><\n>Le décryptage du message a échoué.<\r><\n>La phase de finalisation de l'algorithme de cryptage/décryptage a échoué.<\r><\n><\r><\n>Code erreur : 101750<\r><\n>Niveau : erreur non fatale<\r><\n><\r><\n>Module : wd290com.dll (01A290089j - 29.0.352.2)<\r><\n><\r><\n>Informations de débogage :<\r><\n>Fonction (10,423)<\r><\n>Informations supplémentaires :<\r><\n>EIT_PILEWL :<\r><\n>Clic sur BTN_SansNom1 (FEN_SansNom1.BTN_SansNom1), ligne 13<\r><\n>EIT_DATEHEURE : 12/09/2025 11:32:52<\r><\n>EIT_TYPE_WDFILE : <2><\r><\n>EIT_IDCODE : <18>

Appli WD mobile :

req est une restRequête
req.URL = "http://localhost:8029/Users"
rep est une restRéponse = RESTEnvoie(req)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
RETURN
FIN

repconv est un Variant = JSONVersVariant(rep.Contenu)
sBase64 est une chaîne = repconv.data
bufRecu est un Buffer = Decode(sBase64, encodeBASE64URL)
bufCle est un Buffer = HashChaîne(HA_MD5_128,"maClé")
bufDecrypte est un Buffer = DécrypteStandard(bufRecu, bufCle, crypteAES128)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
RETURN
FIN

sJSONRecu est une chaîne = bufDecrypte
Trace("JSON reçu : " + sJSONRecu)


coté webservice :

Procedure PUBLIQUE GLOBALE LectureTous() : chaîne ANSI

SI Authentification() = Faux ALORS
RENVOYER ""
FIN

ArrUsers est un tableau de MUsers
POUR TOUT MonFichierMappé
Users est un MUsers
Users.FichierVersMemoire()
ArrUsers.Ajoute(Users)
FIN

sJSON est une chaîne
Sérialise(ArrUsers, sJSON, psdJSON)

bufDatas est un Buffer = sJSON

bufCle est un Buffer = HashChaîne(HA_MD5_128, "maClé")

bufCrypte est un Buffer = CrypteStandard(bufDatas, bufCle, crypteAES128)

sBase64 est une chaîne = Encode(bufCrypte, encodeBASE64URL)

RENVOYER "{""data"":""" + sBase64 + """}"
Membre enregistré
3 715 messages
Posté le 12 septembre 2025 - 21:44
Salut,
Je vois 2 soucis
sBase64 est une chaîne = repconv.data
bufRecu est un Buffer = Decode(sBase64, encodeBASE64URL)

1 Tu ne précise pas le type de tes chaînes
Or sur mobile tu es en unicode alors que sur windows en ansi
2 tu as mal lu l'aide car elle précise pour la fonction decode
Qu'il faut utiliser ansiversunicode sur mobile
Voici l'extrait en question
Compile SI ConfigurationUnicode>
bufResultat = Decode(AnsiVersUnicode(bufLu), encodeBASE64)
<SINON>
bufResultat = Decode(bufLu, encodeBASE64)
<FIN>

Après il y a aussi une erreur dans le message d'erreur car il n'y a pas de .dll sauf si tu es encore en windows mobile