如何在Java中解密sha1加密的字符串

谢尔盖:

是否可以解密一些用Java的SHA-1算法加密过的字符串?

布伦丹·朗(Brendan Long):

SHA1是一种加密哈希函数,其全部要点是您无法撤消它。如果可以反转哈希值(为给定哈希值查找输入),它将没有用。如果您需要加密某些东西然后再解密,则应该使用AESRSA之加密功能

但是,对于非常简单的输入,可以通过猜测输入是什么并检查哈希是否相同破解哈希函数

示例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

当然,如果您实际上想有效地破解哈希,那么使用像The RipperHashcat之软件可能是最好的选择。请注意,这通常适用于密码,因为它们很短而且很容易猜到,但是随着输入的增加,难度成倍增加。您可以在几分钟之内用6个字符的输入破解每个SHA-1哈希,而用16个字符破解一个SHA-1哈希平均平均需要数万亿年。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在JAVA中快速简单的字符串加密/解密

Java字符串到SHA1

如何在node.js中获取字符串的sha1哈希?

用Java加密和解密字符串

如何解密SHA-256加密字符串?

在用GO语言加密的同时,如何在c#中解密RSA加密字符串。解码OAEP填充时发生错误

如何在Java中使用AES算法解密加密的字符串?

在Java中加密字符串,在node.js中解密,错误:解密错误

在python中计算字符串的SHA1

在Java Sha1 openssl中解密AES加密文件

在Crypto ++中获取Unicode字符串的SHA1

如何在php中解密sha1?

如何使用Rijndael在iOS中对C#中的解密字符串进行加密

如何在iOS中使用RSA公钥加密和解密字符串(纯文本)

如何在PHP中解密由SQL Server的EncryptByPassPhrase()加密的字符串?

如何解密加密的字符串?

如何在SuiteScript 2.0中加密/解密字符串?

如何在php中加密和解密字符串?

用Java加密字符串,然后用C ++解密字符串。加密++

如何在Java中解密C#加密的AES字符串

如何在SQL Server 2008中将加密的数据转换为字符串并解密数据

在不使用任何给定库(例如Base64,AES等)的情况下,如何在Java中创建自己的字符串编码/解码或加密/解密脚本?

如何使用密钥字符串解密SHA-256加密的字符串?

如何在Java中解密加密的字符串

Java 无法解密用 PHP 加密的字符串

如何在flutter中加密字符串并在其他设备中解密此加密字符串?

加密:加密或解密字符串

如何在 Kotlin 中解密 AES/CBC 加密字符串?

如何解密存储在数据库中的 pbkdf2_hmac 和 SHA256 加密字符串?