Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#中的密码加密?_C#_.net_Passwords_Encryption - Fatal编程技术网

C#中的密码加密?

C#中的密码加密?,c#,.net,passwords,encryption,C#,.net,Passwords,Encryption,如何在C#中加密和解密密码?感谢您的帮助。首先,您实际上不会将加密密码保存在任何地方,而是执行单向散列(例如)存储该散列。然后,当您向用户询问密码时,您将执行相同的哈希。如果新的散列与存储的散列相匹配,那么就得到了一个匹配项 散列和加密的区别在于,使用加密可以恢复原始文本,而使用散列则无法恢复原始文本 阅读SHA(安全哈希算法)和其他哈希算法。这会给你一个好的开始 更好的是,了解内置的.NET。它的实现几乎是微不足道的,它可以管理所有关于用户ID、密码、登录、注销等方面的不愉快。更新了 看看这个

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

首先,您实际上不会将加密密码保存在任何地方,而是执行单向散列(例如)存储该散列。然后,当您向用户询问密码时,您将执行相同的哈希。如果新的散列与存储的散列相匹配,那么就得到了一个匹配项

散列和加密的区别在于,使用加密可以恢复原始文本,而使用散列则无法恢复原始文本

阅读SHA(安全哈希算法)和其他哈希算法。这会给你一个好的开始


更好的是,了解内置的.NET。它的实现几乎是微不足道的,它可以管理所有关于用户ID、密码、登录、注销等方面的不愉快。更新了

看看这个答案:

--或--

阅读这篇文章:


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

  • 您应该使用“salt”散列来防止字典攻击
  • 您至少使用SHA256哈希提供程序
  • 通过快速搜索,我得到了以下示例代码:

    我将使用这个SaltedHash实用程序类(乍一看,它看起来相当完整):


    请详细解释。你真的需要加密吗?还是仅仅通过散列就可以了?给我们一些上下文。将给定的纯文本加密为要存储在数据库中的加密值,并将加密值解密为纯文本。回答很好,只是MD5不应再用于安全相关的实现。在典型情况下,您是正确的,通常会存储密码哈希,但也有例外。我有一个存储实际密码的应用程序。这是我们学校的一个访客帐户系统。我没有向我们的服务台员工公开密码,而是提供了一种方法,如果客户忘记了更改的密码,可以将其重置为原始密码。它使用可逆加密将这些数据存储在数据库中。你可以存储加密的任何东西,只要你保留秘密密钥,秘密。@Jaccco-我到底在想什么?!时间还早。沙,不是MD5。谢谢你的水龙头。编辑accordingly@Bob从理论上讲,考夫曼-SHA-1很可能被摧毁。很快就会有另一班:D@tvanfosson-你发来给我的是一篇权威文章“为什么我们散列而不是加密密码”,我找不到。我想这取决于密码保护的帐户的值。我当然不会相信一家金融机构可以恢复我的密码。