是否可以将两个md5的句子组合起来得到最后一句的md5总和?例如我有句“我不喜欢工作”,现在我想做
md5(“我不”)+ md5(“喜欢工作”)= md5(“我不喜欢工作”)
另外,SHA1可以实现吗?
答案 0 :(得分:1)
没有。哈希算法的要点是它会为类似的输入产生不同的结果。如果哈希的总和确实可以产生最终的哈希值,那么通过计算每个字母的哈希值并向后处理总和来恢复哈希字符串的值是微不足道的。
良好的散列算法会对输入中的任何(小或大)变化产生非常不同的结果,并产生无法与变化相关的变化。
在这方面,SHA1优于MD5。 MD5不再被认为是安全的了。
答案 1 :(得分:0)
我认为两者的答案都是否定的,但为什么不自己测试呢?
答案 2 :(得分:0)
您可以在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