VB.Net中的SHA1解密

时间:2011-01-26 19:12:04

标签: vb.net key sha1 encryption

是否可以在知道密钥的情况下解密VB.Net中的SHA1字符串?

之前我曾见过凭证的“解密” - 但在Java中:http://pastebin.com/P0LuN00P

3 个答案:

答案 0 :(得分:1)

SHA1的全部意义在于使其无法实现。

然而,SHA1有一些弱点,这使得这不太可能 您应该使用SHA512使其更加不可能。

您可能正在寻找Rijndael,一种(良好的)对称加密算法。

答案 1 :(得分:1)

我认为你的SHA1错了。 SHA1不是加密算法,它是一个哈希函数。

哈希函数是一个带有一些无条件长参数字符串的函数,并将该字符串转换为一个更小的字符串,称为哈希。从散列到用于生成散列的字符串是非常难的。实际上,由于输入是任意长的,所以有多个这样的输入给出相同的散列。两个这样的输入称为碰撞。因此,你真的不能“解密”一个哈希,你可以找到一个给出相同哈希的输入。

通常散列函数用于散列用户密码,将其存储在服务器上的数据库中。当服务器从用户提供密码时,服务器通过检查散列密码得到的结果与存储在数据库中的结果相同来检查密码是否正确。 如果恶意用户抓取存储在数据库中的内容,他就无法知道实际的密码,因为很难从哈希转到用于生成哈希的字符串。

答案 2 :(得分:0)

SHA1未加密,它是哈希值。所以不,它不可能解密它。您可以尝试彩虹表:http://www.freerainbowtables.com/