【问题标题】:3.5 .Net Framework Cryptographic Problem3.5 .Net Framework 密码学问题
【发布时间】:2010-12-28 20:26:57
【问题描述】:

为了在用户 PC 中加密和存储我的客户端应用程序的密码,我找到了这个 MSDN 示例(为其他目的而创建):

http://msdn.microsoft.com/en-us/library/bb397867(VS.90).aspx

为了增加安全性,我每次启动应用程序时都会创建一个新文件。现在似乎有时,在某些电脑上(直到现在只有 Windows XP),在创建或读取加密文件的过程中出现问题,需要重新输入密码。我不太了解 MSDN 示例的代码(特别是“EncryptFile”和“DecryptFile”方法)然后我问你:根据你的经验,这段代码是否可能会在某些客户端安装中产生错误? 谢谢! 皮莱吉

【问题讨论】:

  • “加密并存储密码” - 您是在存储另一个应用程序的密码,还是您的应用程序的密码?如果是后者,你应该not be storing the password at all
  • 你是说你在不理解的情况下复制并粘贴了 example 代码并且它似乎并不总是有效?
  • 致@BlueRaja:感谢您的回复。密码是允许用户访问客户端应用程序的密码。我曾想过将密码存储在用户 PC 中。为什么说不对呢?我不需要完美的安全性:还有其他工具可以控制用户活动。你对我有什么建议吗?
  • @pileggi:是的,请查看我发布的链接。您永远不应该永远为您自己的应用程序存储密码 - 而是存储 a hash of the password
  • @BlueRaja:好的,谢谢!当然,我不会存储普通密码,而是存储字符串加密的文件,如链接中所述:msdn.microsoft.com/en-us/library/bb397867(VS.90).aspx 我认为这是一个很好的加密,但如果你认为 HASH MD5 更好,我可以使用它。您认为 HASH MD5 是一个很好的解决方案吗?

标签: .net windows-xp cryptography msdn


【解决方案1】:

使用protected data api 来存储它。 1)它更容易使用,因为它只是一个调用,然后将返回的数据保存在某处 2)它更安全。无论您使用什么加密密码,您都必须将密钥存储在系统的某个位置,这并不安全。

另一方面,受保护数据 api 从用户登录凭据中获取密码,因此密钥材料实际上不在系统上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-11
    • 2011-07-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2016-01-01
    相关资源
    最近更新 更多