我尝试在注册表编辑器中存储用户凭据。它已成功运行。
RegistryKey key;
key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\\XXX\\Credential");
key.SetValue("Name", txtusername);
key.SetValue("Password", password);
key.Close();
如何在wpf应用程序的凭证管理器中安全地存储用户凭证?
答案 0 :(得分:0)
如果仅在应用程序本身内使用凭据,则可以加密它们并将它们添加到app.config文件中。
创建一个类型为connectionstring的应用程序设置,并将其称为myconnectionstring
使用Common.DbConnectionStringBuilder,您可以构建"连接字符串"使用您的用户名和密码在对话框的背面,要求用户输入它们。
然后(在VB中)
Dim config As System.Configuration.Configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None)
Dim section As System.Configuration.ConnectionStringsSection = DirectCast(config.GetSection("connectionStrings"), System.Configuration.ConnectionStringsSection)
section.ConnectionStrings(My.Settings.ToString & ".myconnectionstring").ConnectionString = ConnectionString
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider")
config.Save(System.Configuration.ConfigurationSaveMode.Modified)
System.Configuration.ConfigurationManager.RefreshSection("connectionStrings")
这应该在app.config中加密保存
当读取数据时,.Net将为您处理所有解密。
只需创建另一个Common.DbConnectionStringBuilder对象,将其connectionstring属性分配给Configuration.ConfigurationManager.ConnectionStrings(My.Settings.ToString & ".myconnectionstring").connectionstring
,然后读取您需要的字段。
希望这有帮助