Ser*_*gey 8 java encryption hash cryptography sha1
是否有可能解密之前使用Java中的SHA-1算法加密的字符串?
Rei*_*ica 12
SHA1是一个加密哈希函数,整个观点是你无法撤消它.如果可以反转哈希(找到给定哈希的输入),那么它就没用了.如果您需要加密某些内容并稍后解密,则应使用AES或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
Run Code Online (Sandbox Code Playgroud)
当然,如果你真的想要有效地破解哈希,使用像开膛手或Hashcat这样的软件可能是你最好的选择.请注意,这通常适用于密码,因为它们很短且易于猜测,但随着输入的增加,难度会呈指数增长.您可以在几分钟内使用6个字符的输入来破解每个SHA-1哈希,而使用16个字符破解一个则平均需要数万亿年.
| 归档时间: |
|
| 查看次数: |
29340 次 |
| 最近记录: |