Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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
如何解码Salt+;c#中的哈希密码?_C#_Cryptography - Fatal编程技术网

如何解码Salt+;c#中的哈希密码?

如何解码Salt+;c#中的哈希密码?,c#,cryptography,C#,Cryptography,我不熟悉asp.NETMVC语言。我看到这段代码使用System.Security.Cryptography我在Google中搜索的内容是用来制作salt+hash密码的 我的问题是它能用c#解码吗?简短的回答:不 另见 正确腌制的散列无法还原,这就是这样做的目的 简短回答:不 另见 正确腌制的散列无法还原,这就是这样做的目的 你这样说是对的 简而言之,答案是否定的。哈希提供了一个用于隐藏数据的单向接口,而as加密提供了一个用于数据加密/加密数据解密的双向接口 散列不能被“解密”的唯一方法,我松

我不熟悉asp.NETMVC语言。我看到这段代码
使用System.Security.Cryptography
我在
Google
中搜索的内容是用来制作
salt+hash
密码的

我的问题是它能用c#解码吗?

简短的回答:不

另见

正确腌制的散列无法还原,这就是这样做的目的

简短回答:不

另见


正确腌制的散列无法还原,这就是这样做的目的

你这样说是对的

简而言之,答案是否定的。哈希提供了一个用于隐藏数据的单向接口,而as加密提供了一个用于数据加密/加密数据解密的双向接口

散列不能被“解密”的唯一方法,我松散地使用这个术语,就是通过散列方法强制执行。通过使用相同的散列方法运行一组密码和salt组合,直到找到与原始散列匹配的密码和salt组合。然而,使用强散列方法和密码+盐,这几乎是不可能完成的任务

有益的讨论:

编辑:

您提供的在线加密程序的链接使用称为对称密钥算法的方法。这意味着一个密钥用于数据的加密和解密


你这样说是对的

简而言之,答案是否定的。哈希提供了一个用于隐藏数据的单向接口,而as加密提供了一个用于数据加密/加密数据解密的双向接口

散列不能被“解密”的唯一方法,我松散地使用这个术语,就是通过散列方法强制执行。通过使用相同的散列方法运行一组密码和salt组合,直到找到与原始散列匹配的密码和salt组合。然而,使用强散列方法和密码+盐,这几乎是不可能完成的任务

有益的讨论:

编辑:

您提供的在线加密程序的链接使用称为对称密钥算法的方法。这意味着一个密钥用于数据的加密和解密

不,不容易

散列将获取一些文本并生成一个数字(通常)

例如,md5散列

password =>  5f4dcc3b5aa765d61d8327deb882cf99
根据散列的性质,没有简单的方法可以从数字返回到原始文本“password”

但是,对于半聪明的黑客来说,你可以使用所有单词的字典生成哈希,并在合理的时间内破解大多数哈希密码,因为人们使用常用的单词和符号组合。因此,如果您碰巧得到一个哈希密码列表,您可以对其运行字典攻击。任何使用“password”作为密码的人都会得到相同的哈希值

因此,作为一种防御,如果您为每个用户添加了一些独特的文本,例如Salt,您的用户名,那么现在您就更难了:-

要散列的字符串变成“
Yukkipassword
”,散列到
52fbd06f5b93a51b3f3cd9e807a9f61c

现在,每个使用“密码”作为密码剑的人也会有不同的散列,因此很难通过字典攻击密码。不,不容易

散列将获取一些文本并生成一个数字(通常)

例如,md5散列

password =>  5f4dcc3b5aa765d61d8327deb882cf99
根据散列的性质,没有简单的方法可以从数字返回到原始文本“password”

但是,对于半聪明的黑客来说,你可以使用所有单词的字典生成哈希,并在合理的时间内破解大多数哈希密码,因为人们使用常用的单词和符号组合。因此,如果您碰巧得到一个哈希密码列表,您可以对其运行字典攻击。任何使用“password”作为密码的人都会得到相同的哈希值

因此,作为一种防御,如果您为每个用户添加了一些独特的文本,例如Salt,您的用户名,那么现在您就更难了:-

要散列的字符串变成“
Yukkipassword
”,散列到
52fbd06f5b93a51b3f3cd9e807a9f61c


现在,每个使用“密码”作为密码剑的人也会有不同的散列,而且很难通过字典攻击密码

如果没有,谷歌的目的是什么?哦,亲爱的。完全不同的事情。请务必阅读维基百科页面。读一本书,布鲁斯·施奈尔是一个很好的来源。如果没有,谷歌的目的是什么?哦,亲爱的。完全不同的事情。请务必阅读维基百科页面。读一本书,Bruce Schneier是一个很好的信息来源。为什么我可以在谷歌在线看到加密解码器?@Yukki,那是不同的,那是使用一个key@Yukki这将使用使用密钥加密数据的加密方法。然后,可以使用用于加密该数据的同一密钥对其进行解码/解密。密钥?你能详细说明一下吗?不,你的问题是关于salt+散列,密钥和公钥/私钥加密是一个主题,你可以在谷歌上找到很多关于你自己的信息。为什么我可以在谷歌上看到加密的在线解码器?@Yukki,这是不同的,那是用一个key@Yukki这将使用使用密钥加密数据的加密方法。然后,可以使用用于加密该数据的同一密钥对其进行解码/解密。密钥?你能详细说明一下吗?不,你的问题是关于salt+散列,密钥和公钥/私钥加密是一个主题,你可以在谷歌上找到很多关于你自己的信息。所以你不可能正确解码?。如果可能的话,那么解码它需要很多时间?没错,在大量散列密码中需要很长时间。但是,对于一个人来说,很好地猜测盐可能是什么是可行的。(取决于您设法获取的数据)。Salt应该尽量比用户名更复杂。例如,你可能会使用用户、注册日期、电子邮件等,但黑客可能会获得