是否有可能解密一些之前用 Java 中的 SHA-1 算法加密的字符串?
SHA1 是加密哈希函数,重点是您无法撤消它。如果可以反转哈希值(找到给定哈希值的输入),那么它就没有用处。如果您需要加密某些内容然后解密它,您应该使用加密功能 like AES or RSA.
然而,对于非常简单的输入,可以破解哈希函数通过猜测输入是什么并检查哈希值是否相同。
Python 代码示例:
def crack_hash(hash_to_crack, hash_function, list_of_guesses):
# Try to hash everything in our guess list
for guess in list_of_guesses:
new_hash = hash_function(guess)
# if the hashes match, we found it
if new_hash == hash_to_crack:
return guess
# If none of them match, give up
return None
当然,如果你真的想有效地破解哈希值,可以使用像开膛手约翰 or Hashcat可能是你最好的选择。请注意,这通常适用于密码,因为它们很短且易于猜测,但随着输入的增加,难度呈指数级增加。您可以在几分钟内破解 6 个字符输入的每个 SHA-1 哈希值,而破解 16 个字符的哈希值平均需要数万亿年。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)