我们可以反转第二个sha256哈希吗?

时间:2019-04-26 17:52:46

标签: hash cryptography sha256

我可以将第2个散列这样的sha256散列反转为第1个散列吗?

  1. ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
  2. da3811154d59c4267077ddd8bb768fa9b06399c486e1fc00485116b57c9872f5

第二个哈希值是由sha256(1)生成的,因此可以反转到第一个哈希值吗?

3 个答案:

答案 0 :(得分:1)

散列是一种单向过程。如果哈希算法易于逆转,那么它将是不安全的。要回答您的问题,不,不可能“ unhash” 2并获得1。要“破解”第二个哈希,您将不得不通过计算其他字符串的sha256并将结果与​​2进行比较来强行使用它。如果它们匹配,则您(可能)拥有原始字符串。

答案 1 :(得分:0)

简而言之,截至2019年,没有。

简而言之,密码散列函数是一种确定性但随机的函数。确定性意味着相同的输入始终具有相同的输出,而随机性则意味着输出是不可预测的。

在密码学中,我们通过

考虑哈希函数的安全性
  • 原像电阻:对于基本上所有预先指定的输出,在计算上找不到散列到该输出的任何输入是不可行的,即,找到任何原像x'使得{ {1}},如果输入任意未知的y。
  • 第二原像电阻,弱碰撞:要找到任何与指定输入具有相同输出的第二输入,即给定h(x') = y,在计算上是不可行的第二张原图x,例如x' != x
  • 抗冲突性:在计算上找不到任何两个不同的输入h(x) = h(x')x,这些输入散列到同一输出,即x'

您正在寻找的是原像。对于那些冲突,找到了像MD4和SHA-1这样的加密哈希函数。但是它们都仍然具有前置和第二副图像抵抗力。

对于Sha256,没有已知的中学前碰撞攻击。它被视为安全的哈希函数。

您可能会为SHA-256找到一些彩虹表,其中可能包含您的哈希值,但可能由于空间太大而无法覆盖。

答案 2 :(得分:0)

Sha256是哈希函数,如维基百科https://en.wikipedia.org/wiki/Cryptographic_hash_function所定义:

  

理想的加密哈希函数具有五个主要属性:

     
      
  • 这是确定性的,因此同一条消息始终导致相同的哈希值
  •   
  • 快速计算任何给定消息的哈希值
  •   
  • 无法通过其哈希值生成消息,除非尝试所有可能的消息
  •   
  • 对邮件进行很小的更改应该会广泛更改哈希值,以使新的哈希值看起来与旧的哈希值不相关
  •   
  • 找到两个具有相同哈希值的不同消息是不可行的
  •   

根据定义,只要您不能反向输入,哈希函数就很有用。