使用SHA1的Java

时间:2012-07-26 18:48:06

标签: java encryption cryptography sha1

我尝试实现SHA1解码器,但我在互联网上找不到有用的东西。任何人都可以帮我找到有关如何实现SHA1解密的信息。我想将加密数据转换为字符串。

4 个答案:

答案 0 :(得分:9)

  

我尝试实现SHA1解码器但我在互联网上找不到有用的东西。

SHA-1hash function。它是单向的:您对数据进行哈希处理,然后获取哈希值。如果您散列相同的数据,您将获得哈希值;如果你散列不同的数据,你几乎肯定会得到一个不同的哈希值。

如果你可以“解密”它,它将不会正常工作。

答案 1 :(得分:1)

如果你弄清楚如何破解sha1道具给你。我认为政府可能会这样做,但是你很难找到一个拥有智能算法的公共图书馆,它不需要大量的资源来破解。

they claim they can crack it and decrypt it, I doubt it works another source that claims they can decrypt it, i doubt their code is publicly available though

您是否有特定原因试图解密它,可能是您的设计存在缺陷或其他方式来解决您的问题?

这是关于sha1

进展的一个巧妙的对话

答案 2 :(得分:0)

如果您需要在SHA1哈希后面找到密码,请将哈希放在谷歌上。 如果密码很常见,并且哈希不是“SALTED”,那么您就有机会获得密码。

否则请阅读: https://en.wikipedia.org/wiki/Rainbow_table

答案 3 :(得分:0)

散列函数设计为单向。所以你不能简单地计算输出的输入。这样做称为前映像攻击。如果消息本身无法猜到,这种攻击需要大约2 ^ 159次尝试,这是不可行的。

反转SHA-1的最佳方法是猜测输入。对于典型的用户密码,这种攻击经常成功,因为密码不够复杂。例如,典型的GPU将能够每秒尝试> 100mio密码。

这就是我们不使用普通SHA-1进行密码散列的原因。我们使用故意慢的方案,例如PBKDF2,bcrypt或scrypt,并且有足够的工作因素。