C#中的密码加密?

如何在C#中加密和解密密码? 谢谢你的帮助。

首先,您实际上并不打算将加密密码保存在任何地方,而是执行散列的单向散列(例如, SHA )存储。 然后,当您向用户询问其密码时,您将执行相同的哈希。 如果新哈希与存储的哈希匹配,则表示您已匹配。

哈希和加密之间的区别在于,使用加密,您可以恢复原始文本,而不能使用哈希。

阅读SHA(安全散列算法)和其他散列算法。 这应该会给你一个良好的开端。

更好的是,了解.NET中内置的Membership API 。 实现它几乎是微不足道的,它管理所有关于用户ID,密码,登录,注销以及更多内容的不愉快。

更新

请参阅以下答案: C#密码加密

– 要么 –

阅读这篇文章: http : //csharptest.net/470/another-example-of-how-to-store-a-salted-password-hash/


互联网上有很多关于存储密码的好消息和坏消息。 你需要知道两件事:

  1. 您应该使用’salted’哈希来防止字典攻击
  2. 您最少使用SHA256哈希提供程序

快速搜索给了我这个示例代码: http : //www.obviex.com/samples/hash.aspx

我会使用这个SaltedHash实用程序类(看起来相当完整一目了然):

http://www.dijksterhuis.org/creating-salted-hash-values-in-c/