|
| Crypte/décrypte mot de passe |
| Iniciado por anonyme, 13,mar. 2020 11:57 - 10 respuestas |
| |
| | | |
|
| |
Miembro registrado 130 mensajes |
|
| Publicado el 13,marzo 2020 - 11:57 |
Bonjour,
Je souhaite crypter un mot de passe puis l' envoyer dans un fichier .INI, avant de le décrypter par la suite, lorsqu' un utilisateur rentre son mot de passe. Le souci est que je n' arrive à récupérer ni le mot de passe crypté, ni la clé de décryptage.
Voici mon code: Dans la création du mot de passe d' abord:
sMessage est un Buffer = SAI_Mot_de_Passe bufCle = HashChaîne(HA_MD5_128, "mot de passe") bufCrypte est un Buffer = CrypteStandard(sMessage, bufCle, crypteAES128)
bufMDP est un Buffer = INIEcrit("Config","MotDePasse", bufCrypte, (SysRep(srAppData)) + "\config.ini")
Puis lorsque l' utilisateur entre à nouveau le mot de passe:
bufmdp est un Buffer = INILit("Config","MotDePasse", "",(SysRep(srAppData)) + "\config.ini")
bufRésultat est un Buffer = DécrypteStandard(bufmdp, bufcle, crypteAES128) bufmdp = SAI_Mot_de_passe SI bufmdp = bufRésultat ALORS Info("Mot de passe correct") SINON Info("Mot de passe incorrect.") FIN
J' ai l' erreur suivante: "La taille de la clé (0 bits) ne correspond pas à celle attendu (128 bits) pour l'algorithme."
J' ai essayé de réutiliser le code d' Eric, mais je m' embrouille plus qu' autre chose, hélas.
Quelqu' un aurait-il une idée ?
Cordialement, |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 13,marzo 2020 - 12:02 |
| Ne faites pas attention au message sur Eric, je l' ai copié depuis un autre forum, désolé. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 909 mensajes |
|
| Publicado el 13,marzo 2020 - 12:14 |
anonyme a écrit :
Bonjour,
Je souhaite crypter un mot de passe puis l' envoyer dans un fichier .INI, avant de le décrypter par la suite, lorsqu' un utilisateur rentre son mot de passe. Le souci est que je n' arrive à récupérer ni le mot de passe crypté, ni la clé de décryptage.
Voici mon code: Dans la création du mot de passe d' abord: //cryptage mdp sMessage est un Buffer = SAI_Mot_de_Passe bufCle = HashChaîne(HA_MD5_128, "mot de passe") //bufcle a été déclaré dans l' initialisation du projet bufCrypte est un Buffer = CrypteStandard(sMessage, bufCle, crypteAES128)
//on met le mdp dans le fichier INI. bufMDP est un Buffer = INIEcrit("Config","MotDePasse", bufCrypte, (SysRep(srAppData)) + "\config.ini")
Puis lorsque l' utilisateur entre à nouveau le mot de passe:
bufmdp est un Buffer = INILit("Config","MotDePasse", "",(SysRep(srAppData)) + "\config.ini") //mot de passe crypté
//decryptage du mot de passe bufRésultat est un Buffer = DécrypteStandard(bufmdp, bufcle, crypteAES128) bufmdp = SAI_Mot_de_passe SI bufmdp = bufRésultat ALORS Info("Mot de passe correct") SINON Info("Mot de passe incorrect.") FIN
J' ai l' erreur suivante: "La taille de la clé (0 bits) ne correspond pas à celle attendu (128 bits) pour l'algorithme."
J' ai essayé de réutiliser le code d' Eric, mais je m' embrouille plus qu' autre chose, hélas.
Quelqu' un aurait-il une idée ?
Cordialement,
Bjr, Même problème, mais à ce jour je n'ai pas réinvesti sur celui-ci, j'ai botté en touche "pour l'instant" ! A suivre
-- Christian - kick71 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 13,marzo 2020 - 12:19 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 13,marzo 2020 - 12:21 |
Bonjour,
Pourquoi vouloir vérifier le mot de passe en le décryptant. Il est préférable de faire un hash du mot de passe et de stocker le hash, ce dernier étant par définition irreversible, le mot de passe ne peut donc pas être trouvé.
Il suffit ensuite de comparer les 2 hash à la saisie du mot de passe et c'est bien mieux sécurisé comme ceci.
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 13,marzo 2020 - 14:14 |
Bonjour Philippe,
Merci pour votre solution aussi simple qu' efficace  Malheureusement, ce type d' authentification ne marche pas a priori vu que le serveur n' accepte pas les hash MD5  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 16,marzo 2020 - 09:32 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 16,marzo 2020 - 11:11 |
Update: Alors, j' ai tenté une autre méthode. J' ai créé un bouton permettant de tester le mot de passe directement après la création de ce dernier: Résultat: ça marche. En revanche, si je ferme la session et que je la relance sur la fenêtre demandant le mot de passe, j' ai l' erreur: ""La taille de la clé (0 bits) ne correspond pas [...]"
Bizarre... Pourtant, on ne peut pas vraiment parler de persistance des données car le mot de passe est lu dans le fichier.INI qui est bien mis à jour, je suis perdu, je dois vous avouer  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 16,marzo 2020 - 13:48 |
| Complètement oublié la clé... Et pourtant, ce n' est pas faute d' avoir lu et relu le message d' erreur :/ Du coup, j' ai renseigné aussi la clé dans le .ini et ça marche. Mais est-ce la bonne solution ? L' idéal ne serait-il pas d' isoler la clé du mdp au cas où ? Longue réflexion... |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 16,marzo 2020 - 15:11 |
L' idéal ne serait-il pas d' isoler la clé du mdp au cas où ?
Ce n'est pas l'idéal, c'est une obligation. C'est la base de la sécurité. Ta question revient à dire
Ne vaut-il mieux pas retirer la clé de la porte lorsque je m'en vais de chez moi ???
Il serait utile de reprendre ton besoin à la base. Car tu dis :
Malheureusement, ce type d' authentification ne marche pas a priori vu que le serveur n' accepte pas les hash MD5
De quel serveur parles-tu ???
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 130 mensajes |
|
| Publicado el 16,marzo 2020 - 16:06 |
Bonjour Philippe,
Merci pour ta réponse. Du coup, tu préconiserais de le mettre où ? Sinon, c' est un serveur SMTP. Pour envoyer un mot de passe, je dois renseigner plusieurs critères dont le mot de passe, et ce, afin d' envoyer un mail. |
| |
| |
| | | |
|
| | | | |
| | |
|