如何解密散列密码?

时间:2013-12-18 10:52:14

标签: c# asp.net

我使用盐技术的SHA1算法在我的网站中哈希密码。有没有办法解密密码并恢复原始密码?

2 个答案:

答案 0 :(得分:3)

哈希不加密/解密。

当我们散列某些东西时,我们从一组特定的字节派生一个数字(或字符序列),以便同一组字节产生相同的散列码。这是一个单向的过程,我们不能回去。

通过加密,我们使用将字节序列转换为不再与原始内容相似的算法,然而如果我们知道它是如何加密的,我们可以解密它。

当我们不需要知道原始内容是什么时,哈希很有用。密码(您在帖子中提到)就是一个很好的例子。我们将散列版本(含盐)存储在数据库中。当用户再次登录时,我们会对他们输入的密码进行哈希处理。如果两个哈希值匹配,则它必须是相同的密码。但在任何时候我们都没有透露实际 的密码是什么,并且它没有以纯文本形式存储在数据库中。

答案 1 :(得分:0)

你不能这样做,SHA1是一个散列算法: 它总是从纯文本到散列签名。

如果您希望能够采用两种方式,则需要查看对称算法。

看看这里:http://msdn.microsoft.com/en-us/library/system.security.cryptography(v=vs.110).aspx