PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → problème avec Décrypte
problème avec Décrypte
Débuté par Michele, 14 aoû. 2025 15:31 - 5 réponses
Posté le 14 août 2025 - 15:31
bonjours
j'ai crypter une donnée et je l'ai sauvegarder dans un fichier .INI j'ai voulue la décrypté normalement le résultat sera en clair mais mon résultat à moi est toujours crypté voici le bout de code que j'ai utilisé
chaine_valeur=INILit("LICENCE", "CLE", "", "C:\WINDOWS\system32\drivers\vga.ini")
SI chaine_valeur<>"" ALORS
chaine_valeur= Décrypte(chaine_valeur, "MOTDEPASSE")
FIN

je ne sais pas si j'ai fait une erreur ou quoi ? Est ce que ce code est valide ou non Merci en sachant que j'ai crypté la donnée avec le même Mot de Passe
Membre enregistré
955 messages
Posté le 14 août 2025 - 17:15
Bonjour,
Sans info supplémentaire, je vous propose d'essayer la déclaration d'une nouvelle Variable, par exemple :

MonDecryptage est une chaîne
MonDecryptage = Décrypte(chaine_valeur, "MOTDEPASSE")


Ainsi "chaine_valeur" conserve la valeur cryptée, et "MonDecryptage" contient la valeur décryptée.
Dites nous ce que ça donne.

Edit : La valeur dans le fichier INI est-elle bien récupérée ?
chaine_valeur est de type chaîne ?

Avez-vous la certitude que le mot de passe est correct (Majuscule, minuscule, ...)

Cdlt
Message modifié, 14 août 2025 - 17:36
Posté le 15 août 2025 - 15:09
Cédric_34 a écrit :
Bonjour,
Sans info supplémentaire, je vous propose d'essayer la déclaration d'une nouvelle Variable, par exemple :

MonDecryptage est une chaîne
MonDecryptage = Décrypte(chaine_valeur, "MOTDEPASSE")


Ainsi "chaine_valeur" conserve la valeur cryptée, et "MonDecryptage" contient la valeur décryptée.
Dites nous ce que ça donne.

Edit : La valeur dans le fichier INI est-elle bien récupérée ?
chaine_valeur est de type chaîne ?

Avez-vous la certitude que le mot de passe est correct (Majuscule, minuscule, ...)

Cdlt
Posté le 15 août 2025 - 15:15
Cédric_34 a écrit :
Bonjour,
Sans info supplémentaire, je vous propose d'essayer la déclaration d'une nouvelle Variable, par exemple :

MonDecryptage est une chaîne
MonDecryptage = Décrypte(chaine_valeur, "MOTDEPASSE")


Ainsi "chaine_valeur" conserve la valeur cryptée, et "MonDecryptage" contient la valeur décryptée.
Dites nous ce que ça donne.

Edit : La valeur dans le fichier INI est-elle bien récupérée ?
chaine_valeur est de type chaîne ?

Avez-vous la certitude que le mot de passe est correct (Majuscule, minuscule, ...)

Cdlt


Bonjours;
Merci pour ta réponse, la variable chaine_valeur est de type chaine le mot de passe et le même que ce soit pour crypter ou décrypter mais le résultat et le même j'ai même pris l'exemple fourni dans la doc
// Cryptage d'une chaîne
ResCrypte = Crypte("Le numéro de mon compte en Suisse est 74538290", "MotDePasse")
Res = Décrypte (ResCrypte, "MotDePasse")

j'ai affiché les deux variables, résultat ResCrypte,Res sont tous les deux cryptées
Membre enregistré
4 263 messages
Posté le 16 août 2025 - 21:53
Bonjour,
Michele a écrit :
j'ai crypté la donnée avec le même Mot de Passe

C'est préférable.

Dans ton Décrypte, (il est d'ailleurs préférable d'utiliser DécrypteStandard,) tu n'indiques ni le type de cryptage, ni le format de la chaîne. Es-tu sur que le cryptage a été fait avec l'option CrypteRapide, sans compression et que le format est bien PCS.

RQ : Depuis 1995 les fichiers INI ont été remplacés par la base de registres.

--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM
Message modifié, 16 août 2025 - 22:01
Membre enregistré
955 messages
Posté le 19 août 2025 - 02:20
Bonjour,
Nous n'avons pas le code de Cryptage, ni la réponse à la question posée précédemment :

La valeur dans le fichier INI est-elle bien récupérée ?

Avez-vous ouvert le fichier ("C:\WINDOWS\system32\drivers\vga.ini") avec un éditeur de texte pour vérifier son contenu et comparer avec ce que vous renvoie Windev.
Je suppose que ce chemin de fichier a pour objectif de "dissimuler" la présence du fichier "vga.ini" mais le fait d'écrire dans les dossiers Système n'est pas sans conséquence, je me demande donc si vous ne déclenchez pas les mécanismes de sécurité.

Normalement, si le mot de passe de décryptage n'est pas correct, la chaine renvoyée par Windev n'est pas décryptée mais ne correspond pas non plus à la chaine cryptée visible dans votre fichier "vga.ini".

Que se passe t-il pour vous si vous placez ce code sur un bouton :

ResultatIni est un booléen = INIEcrit("LICENCE", "CLE", Crypte("Le numéro de ma carte bancaire 52327453829011", "MotDePasse"), ComplèteRep(fRepExe) + "Test.ini")


Un fichier "Test.ini" devrait être créé dans le répertoire Exe de votre Application.

Ensuite, le code suivant sur un autre bouton devrait décrypter la valeur présente dans le fichier "Test.ini" :

MonDecryptage est une chaîne
chaine_valeur est une chaîne = INILit("LICENCE", "CLE", "", ComplèteRep(fRepExe) + "Test.ini")
SI chaine_valeur <> "" ALORS
MonDecryptage = Décrypte(chaine_valeur, "MotDePasse")
Trace(MonDecryptage)
SINON
Avertissement("Échec de décryptage")
FIN


Je peux vous garantir que ceci fonctionne sur mon poste.
Cdlt