は、Windows資格情報管理APIを使用することができます。この方法では、ユーザーにパスワードを1回だけ要求してから、Windows資格情報マネージャにパスワードを保存します。次回にアプリケーションが起動し、パスワードを使用する必要がある場合、Windows Credentials Managerからパスワードを読み取ります。あなたはpinvoke(credwrite、CredRead、example here)を使用してWindows Credential Management APIを直接使用することも、使いやすいC#ラッパーを使用したい場合はCredentialManagementをチェックすることもできます。
使用例:
public class PasswordRepository
{
private const string PasswordName = "ServerPassword";
public void SavePassword(string password)
{
using (var cred = new Credential())
{
cred.Password = password;
cred.Target = PasswordName;
cred.Type = CredentialType.Generic;
cred.PersistanceType = PersistanceType.LocalComputer;
cred.Save();
}
}
public string GetPassword()
{
using (var cred = new Credential())
{
cred.Target = PasswordName;
cred.Load();
return cred.Password;
}
}
}
私はあなたがおそらく良いアイデアではありません、アプリケーションコードで復号鍵を埋め込みますパスワードを暗号化しても、クライアント・マシン上のファイルにパスワードを保存することはお勧めしません。
ありがとうございます。クリア – Erik