2015-04-05 32 views
0

有没有一种方法可以在不使用数据库的情况下以安全的方式在C#中存储密码?我希望应用程序不必依靠数据库,但我不想以纯文本形式存储密码。例如,我目前做类似:存储密码的最佳方式(无数据库或纯文本)?

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

我想要最简单和最安全的方式来存储它,否则。该应用程序不需要任何其他目的的数据库,所以我只是试图避免引入一个数据库来存储一个单一的信息。

+0

您可以将加密的名称/密码存储在注册表中。 – 2015-04-05 18:56:41

+0

可能重复的[在源代码中保护密码?](http://stackoverflow.com/questions/4155187/securing-a-password-in-source-code) – 2015-04-05 18:57:43

+2

您是否需要自己存储该密码或者验证用户密码的方法足够好了吗?后面的情况通常更容易实现,并且更安全 – 2015-04-05 18:58:46

回答

0

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

如果你有兴趣在密码的持续存在,这是常见的加密和然后保存密码,然后在本地执行时,尝试登录相同的加密,比较,而不是原始文本加密的数据。这样,不正确的密码被拒绝,但正确的密码将加密到存储的值。

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

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

相关问题