可以在不更改哈希值的情况下更改数据吗?

Can data be changed without changing it's hash?

目标是证明在特定的时间点存在一些数据。

我想我可以通过将数据哈希存储在以太坊区块链中并将数据本身存储在其他存储便宜的地方来实现这一点。

假设这是我们正在谈论的一篇文章。它主要包含文本和少量高分辨率图像。所以,它的体积比较大。我想生成哈希来识别这篇文章并将其存储在以太坊区块链中。如果需要证明这篇文章在某个时间点存在,他可以使用相同的协议从存储在任何 database/datastorage 中的文章生成哈希,并将其与存储在区块链中的哈希进行比较。 希望我在这里正确使用 "hash" 这个词。

  1. 这行得通吗?
  2. 有没有办法在不改变哈希值的情况下改变数据?

您正在尝试使用哈希建立“真实性证明”。 市场上的许多产品都这样做了,是的,当数据很大且不易受到彩虹 table 攻击时,这是一个可行的策略。

您需要确保使用“one-way散列”和提供“强抗碰撞性[=22=”的算法]' 你会没事的。 通过这样做,几乎不可能有两个具有相同散列的数据流。

参考https://en.wikipedia.org/wiki/One-way_function and http://crppit.epfl.ch/documentation/Hash_Function/WiKi/Hash_collision.htm了解更多信息。

希望对您有所帮助!