PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → mot de passe invalide version plus récente
mot de passe invalide version plus récente
Débuté par JCM, 15 mai 2022 11:59 - 3 réponses
Membre enregistré
12 messages
Posté le 15 mai 2022 - 11:59
Bonjour,

j'utilise la dernière version de windev mobile 27, j'ai mis à jour ma rubrique mot de passe avec le champ mot de passe, et j'ai un plantage systématique avec l'erreur 1240 : "le contenu du mot de passe est invalide ou provient d'une version plus récente du framework d'exécution."
Pour créer un nouveau user, j'utilise le système classique 'ecranversfichier' et hajoute, idem pour le modifier (hmodifie), et pour vérifier le login/pass j'utilise :

user.LitRecherchePremier(login ,SAI_Utilisateur)
SI user.Trouve()=VRAI ALORS
Info("user trouvé") // pour test
FIN

SI user.Trouve()=VRAI ET user.MotDePasse = SAI_Mot_de_passe ALORS
gnUserID = REQ_Login.IDuser
gsUserNom = REQ_Login.UserNom
gsUserPrenom = REQ_Login.UserPrénom
gsUserNiveau = REQ_Login.Niveau
gnIDcentre = REQ_Login.IDcentre
gsCentreNom = REQ_Login.CentreNom
OuvreFenêtreMobile(FEN_Sveltéo_MOBILE)
SINON
Info("Utilisateur non trouvé")
RETOUR
FIN


j'ai mis à jour les rubriques dans hfsql, j'utilise le centre de contrôle en 27, tout est à jour partout.
De plus, comment éviter le plantage total et plutôt mettre un "info("erreur login")" ?

Avez-vous une idée ?
Merci
JCM

--
JCM
V27 WB WD WDM
01F270087m
Message modifié, 15 mai 2022 - 12:03
Membre enregistré
12 messages
Posté le 16 mai 2022 - 14:14
bonjour à tous,

je réponds à mon message, pour ceux qui auront le même problème.

La raison était la suivante : les paramètres de la rubrique "Nombre d'itérations" et "taille du résultat" étaient à 0 (pour une raison que j'ignore, j'ai simplement changé la rubrique de texte à mot de passe). Il faut les passer à 20000 et 256.
J'ai trouvé en voyant les paramètres de la LST128 :merci:





Bonne journée à tous,

JCM

--
JCM
V27 WB WD WDM
01F270087m
Message modifié, 16 mai 2022 - 14:15
Membre enregistré
10 messages
Posté le 09 février 2026 - 21:07
JCM a écrit :
bonjour à tous,

je réponds à mon message, pour ceux qui auront le même problème.

La raison était la suivante : les paramètres de la rubrique "Nombre d'itérations" et "taille du résultat" étaient à 0 (pour une raison que j'ignore, j'ai simplement changé la rubrique de texte à mot de passe). Il faut les passer à 20000 et 256.
J'ai trouvé en voyant les paramètres de la LST128





Bonne journée à tous,

JCM

--
JCM
V27 WB WD WDM
01F270087m
Message modifié, 16 mai 2022 - 14:15

Bonsoir JCM.

J'ai le même probleme que toi mais je trouve pâs ou modifier ce paramètre peux tu me donner la position de ce paramètre
Merci d'avance

ERic
Posté le 13 février 2026 - 07:04
JCM escribío:
Bonjour,

j'utilise la dernière version de windev mobile 27, j'ai mis à jour ma rubrique mot de passe avec le champ mot de passe, et j'ai un plantage systématique avec l'erreur 1240 : "le contenu du mot de passe est invalide ou provient d'une version plus récente du framework d'exécution."
Pour créer un nouveau user, j'utilise le système classique 'ecranversfichier' et hajoute, https://www.carecredit.com.co idem pour le modifier (hmodifie), et pour vérifier le login/pass j'utilise :

user.LitRecherchePremier(login ,SAI_Utilisateur)
SI user.Trouve()=Vrai ALORS
Info("user trouvé") // pour test
FIN

SI user.Trouve()=Vrai ET user.MotDePasse = SAI_Mot_de_passe ALORS
gnUserID = REQ_Login.IDuser
gsUserNom = REQ_Login.UserNom
gsUserPrenom = REQ_Login.UserPrénom
gsUserNiveau = REQ_Login.Niveau
gnIDcentre = REQ_Login.IDcentre
gsCentreNom = REQ_Login.CentreNom
OuvreFenêtreMobile(FEN_Sveltéo_MOBILE)
SINON
Info("Utilisateur non trouvé")
RETOUR
FIN


j'ai mis à jour les rubriques dans hfsql, j'utilise le centre de contrôle en 27, tout est à jour partout.
De plus, comment éviter le plantage total et plutôt mettre un "info("erreur login")" ?

Avez-vous une idée ?
Merci
JCM

--
JCM
V27 WB WD WDM
01F270087m



L'erreur 1240 en WinDev Mobile 27 est assez spécifique : elle survient généralement parce que vous essayez de manipuler une rubrique de type "Mot de passe" (introduite avec le nouveau hachage sécurisé de PC SOFT) comme s'il s'agissait d'une simple chaîne de caractères.

Voici l'analyse de votre problème et les solutions pour corriger le tir.

1. Pourquoi l'erreur survient-elle ?
Lorsque vous utilisez le type de donnée Mot de passe dans l'analyse HFSQL :

WinDev ne stocke plus le texte en clair, mais un sel (salt) et un hachage.

L'opérateur = ne fonctionne pas de manière classique. En faisant user.MotDePasse = SAI_Mot_de_passe, vous tentez d'écrire ou de comparer directement une valeur brute dans un champ protégé par le framework, ce qui déclenche l'erreur de version/validité.

2. La solution : Utiliser HEnregistreMotDePasse
Pour vérifier un mot de passe sans provoquer de plantage, vous ne devez pas comparer les chaînes, mais demander au moteur HFSQL de valider la correspondance.

Code corrigé pour votre vérification :

Mathematica
// 1. Recherche de l'utilisateur
user.LitRecherchePremier(login, SAI_Utilisateur)

SI user.Trouve() ALORS
// 2. Validation sécurisée du mot de passe
// HEnregistreMotDePasse vérifie si SAI_Mot_de_passe correspond au hash stocké
SI HEnregistreMotDePasse(user, MotDePasse, SAI_Mot_de_passe) ALORS
// Succès : Le mot de passe est correct
gnUserID = user.IDuser
// ... remplissez vos variables ici ...
OuvreFenêtreMobile(FEN_Sveltéo_MOBILE)
SINON
// Échec : Mot de passe incorrect
Info("Mot de passe invalide.")
FIN
SINON
Info("Utilisateur non trouvé.")
FIN
Note : Dans votre code initial, vous utilisiez REQ_Login pour remplir vos variables après une recherche sur user. Assurez-vous d'être cohérent sur le nom du fichier ou de la requête utilisé.

3. Éviter le plantage (Exception)
Le "plantage" (l'arrêt brutal de l'appli) est dû au fait que WinDev génère une erreur fatale lors de l'accès direct à la rubrique. Pour rendre cela plus "propre", vous pouvez utiliser un bloc de gestion d'erreurs :

Mathematica
QUAND EXCEPTION DANS
// Votre code de vérification
FAIRE
Info("Une erreur technique est survenue lors de la connexion.")
// Vous pouvez logger l'erreur avec ExceptionInfo()
FIN
4. Attention à la création (HAjoute)
Lors de la création de l'utilisateur avec EcranVersFichier, WinDev 27 devrait normalement gérer le hachage automatiquement si SAI_Mot_de_passe est relié à la rubrique.

Cependant, si vous avez une erreur au HAjoute, forcez l'affectation comme ceci avant l'ajout :
user.MotDePasse = SAI_Mot_de_passe
(WinDev détecte alors qu'il s'agit d'une affectation de "nouveau" mot de passe et génère le hachage proprement).