在C#中的密码加密?(Password encryption in C#?)

2019-07-20 17:43发布

我怎样才能加密和C#解密密码? 谢谢你的帮助。

Answer 1:

首先,你不是真的要到任何地方保存加密的密码,而你会执行单向散列(例如, SHA )商店哈希值。 然后,当你挑战他的密码的用户,执行相同的哈希值。 如果新的哈希存储的哈希相匹配,您已经有了一个匹配。

哈希和加密之间的区别是,加密,可以恢复原来的文本,其中与哈希你不能。

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

更妙的是,了解内置的成员身份API的.NET。 这几乎是微不足道的实施并管理所有关于用户ID的,密码,登录,注销和很多更适合你的不愉快。



Answer 2:

更新

看到这个答案: C#密码加密

- 要么 -

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


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

  1. 您应该使用“咸鱼”哈希以防止字典攻击
  2. 您可以使用以最小的SHA256哈希提供商

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

我想这个SaltedHash实用工具类去(一眼看上去还算完整):

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



文章来源: Password encryption in C#?