存储密码的最佳方式(无数据库或纯文本)?

时间:2015-04-05 18:52:39

标签: c#

有没有办法在不使用数据库的情况下在C#中安全地存储密码?我希望应用程序不必依赖数据库,但我不想以纯文本格式存储密码。例如,我目前做的事情如下:

public static string username = "george";
public static string password = "password";

我希望以最简单,最安全的方式存储它。该应用程序不需要用于任何其他目的的数据库,因此我只是试图避免引入数据库以仅存储单个信息。

1 个答案:

答案 0 :(得分:1)

请参阅SecureString,它可以在加密内存中的数据时访问各种字符串操作,以防止本地内存攻击。

如果您对密码的持久性感兴趣,通常会散列并然后保存密码,然后在尝试登录时在本地执行相同的散列,比较散列数据而不是原始文本。这样,拒绝了错误的密码,但正确的密码将散列为存储的值。

至于存储数据,请考虑将其存储为setting

请注意,加密和“如何安全地存储密码”是一个很大的主题,你应该研究它。