【发布时间】:2011-05-24 21:03:40
【问题描述】:
问题是我有一个文件可以存放元数据。我想在其中存储一个用于完整性验证的哈希。问题是,一旦我存储了哈希,文件和哈希就会随之改变。
我完全理解,从定义上讲,这对于像 md5/sha 这样的单向加密哈希方法来说是不可能的。
我也知道容器存储验证数据的可能性与 zip & co 一样。
我也知道可以单独计算哈希并将其与文件一起发送或将其附加到末尾或客户端在计算哈希时忽略它的地方。
这不是我想要的。
我想知道是否有一种算法可以从包含哈希本身的结果的数据中获取结果哈希。
它不需要加密或满足很多标准。它也可以基于一些启发式方法,在实际的时间量后提供所需的结果。
我真的不是很喜欢数学,但难道不能有一些真正先进的指数模多项式循环反向引用除法的东西来使这成为可能吗?
如果没有,反对它的证据是什么(如果有)?
我需要 tis 的原因是因为我希望(最终)将哈希与 MP4 文件一起存储。它很复杂,但其他解决方案并不容易实现,因为文件要经过设计不良的生产管道...
【问题讨论】:
-
回答上述问题至少和这个问题一样难:Is there an MD5 Fixed Point where md5(x) == x?
-
@Greg:重读。 OP 知道使用 MD5 和 SHA 是不可能的。
-
它不是那个的副本,因为它处理一个特殊的加密散列并且问题是不同的,因为它需要与自身的功能相同。我的问题是关于更多算法,非密码以及包含该哈希的数据。不是哈希本身。
-
@Jason S:这不是“不可能的”。很难。