Bonjour,
J'ai un textbox sensé récupérer un mot de passe.
Il s'agit en fait de faire comme les paramètres internet de IE : récupérer les infos de proxy éventuels pour la connexion à internet de mon appli. Et parmi ces informations figure l'authentification Proxy (login et mot de passe)
Mon textbox a sa propriété UseSystemPasswordChar à True ce qui permet de ne pas afficher le mot de passe en clair.
Mais je souhaite maintenant mémoriser ce mot de passe (a priori 2 solutions possible : la base de registre ou une base de données) pour que l'utilisateur n'ait pas à le renseigner à chaque fois.
Bref, il s'agit de faire comme la boite de dialogue de IE qui invite à saisir login et mot de passe d'identification du Proxy et qui comporte une case à cocher "mémoriser les identifiants".
Le but est donc de mémoriser le mot de passe, mais pas en clair.
Je me doute qu'une piste est la cryptographie avec les classes du framework. Mais cela me semble "a priori" assez compliqué.
D'un autre côté j'ai vu qu'il existe une classe SecureString.
J'ai tenté le code suivant :
Mais ce n'est pas la bonne méthode. La chaine stockée dans le registre est "System.Security.SecureString" et c'est cette chaîne là qui est lue dans le textbox ensuite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Dim nodeReg As Microsoft.Win32.RegistryKey Dim pass As New SecureString Dim passchararray As Char() = Me.TXT_Pass.Text.ToCharArray For Each c As Char In passchararray pass.AppendChar(c) Next nodeReg = My.Computer.Registry.CurrentUser.CreateSubKey("Software").CreateSubKey(Application.ProductName) nodeReg.SetValue("ProxyPass", pass) nodeReg.Close()
Bref, comment vous y prendriez-vous ?
Partager