Encryption 将部分的md5和合并,得到完整字符串的md5和

Encryption 将部分的md5和合并,得到完整字符串的md5和,encryption,md5,sha1,Encryption,Md5,Sha1,是否可以将一个句子的两个md5和组合起来,得到最后一个句子的md5和?e、 我有句话“我不喜欢工作”,现在我想做 我不喜欢工作 此外,SHA1是否可能实现这一点?否。哈希算法的要点是,它将为类似的输入生成不同的结果。如果散列的总和确实可以产生最终结果的散列,那么通过计算每个字母的散列并向后计算总和来恢复散列字符串的值就很简单了 一个好的散列算法对于输入中的任何(小的或大的)变化都会产生非常不同的结果,并且产生不可能与变化相关的变化 在这方面,SHA1优于MD5。MD5不再被认为是真正安全的了。您

是否可以将一个句子的两个md5和组合起来,得到最后一个句子的md5和?e、 我有句话“我不喜欢工作”,现在我想做

我不喜欢工作


此外,SHA1是否可能实现这一点?

否。哈希算法的要点是,它将为类似的输入生成不同的结果。如果散列的总和确实可以产生最终结果的散列,那么通过计算每个字母的散列并向后计算总和来恢复散列字符串的值就很简单了

一个好的散列算法对于输入中的任何(小的或大的)变化都会产生非常不同的结果,并且产生不可能与变化相关的变化


在这方面,SHA1优于MD5。MD5不再被认为是真正安全的了。

您可以在python中执行类似的操作,但在幕后,它只是为您连接所有字符串

import md5

m = md5.new()
m.update("I dont ")
m.update("like working")
print m.hexdigest()  # b436bd6442ee000b4778bdbc8bee71d9

m = md5.new()
m.update("I dont like working")
print m.hexdigest()  # b436bd6442ee000b4778bdbc8bee71d9

谢谢你的回答。为了完善我的问题,我想做以下几点:我有md5hash“我不知道”,但没有字符串。然而,我有“喜欢工作”的字串。是否可以仅使用第一部分的md5sum和字符串“like work”生成“我不喜欢工作”的最终哈希?我不确定亚当是否已经回答了这个问题。就像第一个答案的代码一样,我从第5行开始,将当前摘要设置为第一部分的md5sum。所以md5哈希算法在其内存中有比当前哈希更多的内容吗?为了在以后恢复摘要,我需要保存所有内存表,而不仅仅是md5哈希正确吗?请参阅对流进行哈希时,下一个块与最后一个块的结果进行整型。完成后,状态机中剩下的最后一个值就是散列。我会说等到你有了所有的数据,再进行散列。谢谢,从我在wiki条目中看到的,应该可以从散列中获得h0、h1、h2、h3状态值。我自己来试试。谢谢你的回答!它不是在利用街区吗?您可以推送新的字符串部分,直到一个块已满,然后它将丢弃用于计算这一块的所有字符串内容,因为它已被消化。这将限制使用的最大内存。想象一下,从磁盘数据流中更新几GB的字符串内容。