PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Help chaine secrete
Help chaine secrete
Débuté par Maxime, 17 juin 2025 19:32 - 7 réponses
Posté le 17 juin 2025 - 19:32
bonjour à tous,

pouvez-vous m'aider svp ?
je commence à utiliser le coffre fort. En créant une chaine secrete dans le coffre j'arrive à l'utilier pour faire une connexion au serveur : pas de soucis.

Mais je cherche à comparer la valeur d'une chaine secrète avec un champ password que je saisis.
hélas cela ne fonctionne pas.
J'ai l'erreur ci-dessous:
----------------------------------------------------------------------------------------------
L'opération '=' est interdite entre un élément de type 'chaîne ANSI' et un élément de type 'chaîne secrète ANSI'.

Pile des appels :
Clic sur BTN_SansNom2 (FEN_MENU.BTN_SansNom2), ligne 1

Date : 17/06/2025 19:27:02
Projet : Coffre_Fort

Informations supplémentaires :
Code erreur : 1036
Module : wd300vm64.dll (01A302032 - 30.0.453.7)
-----------------------------------------------------------------------------------------------

si vous avez une idée pour faire cette comparaison simple qui serait si pratique .

Merci beaucoup par avance

Maxime
Membre enregistré
2 299 messages
Posté le 18 juin 2025 - 17:16
Bonjour,

Le message est explicite : vous devez fournir le mot de passe dans une 'chaîne secrète ANSI' :
MonMotDePasse est une ChaîneSecrète = "xxxxxxxxx"
SI MdpConnexionHFSQL = MonMotDePasse ALORS
...
FIN


--
Bon dev,
Jean-Pierre
Posté le 18 juin 2025 - 17:56
Jean-Pierre BLOCH a écrit :
Bonjour,

Le message est explicite : vous devez fournir le mot de passe dans une 'chaîne secrète ANSI' :
MonMotDePasse est une ChaîneSecrète = "xxxxxxxxx"
SI MdpConnexionHFSQL = MonMotDePasse ALORS
...
FIN


--
Bon dev,
Jean-Pierre


bonjour Jean-Pierre,

merci pour la réponse.
je suis ok avec ce que tu as écrit et cela fonctionne pour ce genre de traitement.
Mais mon soucis c'est que je désire saisir une valeur dans un champ d'une fenêtre et le comparer avec une valeur stockée dans une chaine secrète définie dans le coffre fort (cela fonctionne, je récupère bien le contenu de la chaine secrète).
Le hic c'est que l'on ne peut pas comparer le contenu d'un champ (ou d'une variable chaine) avec une chaine secrète.
C'est trop frustrant car le potentiel du coffre fort devient limité du coup.

Merci
Membre enregistré
2 299 messages
Posté le 19 juin 2025 - 09:31
Bonjour Maxime,

Alors le code devient :
MonMotDePasse est une ChaîneSecrète = SAI_MonChamp
SI MdpConnexionHFSQL = MonMotDePasse ALORS
...
FIN


--
Bon dev,
Jean-Pierre
Posté le 19 juin 2025 - 16:53
Jean-Pierre BLOCH a écrit :
Bonjour Maxime,

Alors le code devient :
MonMotDePasse est une ChaîneSecrète = SAI_MonChamp
SI MdpConnexionHFSQL = MonMotDePasse ALORS
...
FIN


--
Bon dev,
Jean-Pierre


Merci Jean-Pierre pour ta réponse.
HELAS... HELAS.... ça ne fonctionne pas.
l'utilisation de : SI MdpConnexionHFSQL = MonMotDePasse ALORS

retourne directement une erreur [type incompatible]

j'avais dans mon 1er test fait une comparaison directe entre les 2.
Le fait de passer par une variable intermédiaire ne change rien, on retombe sur type incompatible....

dommage cela m'aurait vraiment bcp aidé de pouvoir le faire

merci d'avoir répondu

Maxime
Membre enregistré
2 299 messages
Posté le 20 juin 2025 - 09:11
Bonjour Maxime,

Peut-être y a-t-il une incompatibilité entre les types Mot de passe et ChaîneSecrète.
Essayez d'utilisez un type Texte dans votre saisie pour valider cette hypothèse (je n'ai pas la version 30).

--
Bon dev,
Jean-Pierre
Membre enregistré
2 682 messages
Posté le 20 juin 2025 - 11:50
Pour les mots de passe pourquoi ne pas les stocker avec une méthode de hachage, c'est fait pour ça.
HashChaîne()
HashVérifieChaîne()

--
Cordialement,

Philippe SAINT-BERTIN
Posté le 21 juin 2025 - 10:06
Philippe SB a écrit :
Pour les mots de passe pourquoi ne pas les stocker avec une méthode de hachage, c'est fait pour ça.
HashChaîne()
HashVérifieChaîne()

--
Cordialement,

Philippe SAINT-BERTIN


merci pour vos réponses, je vais regarder cela