是否有理由将CouchDB /PouchDB的修订算法“在幕后”更改为使用块链样式的“哈希链”,以便每个文档的_rev是其先前修订的散列的结果?
这样的模型将有助于维护修订的完整性;例如,在分布式网络中,它基本上可以成为整个db不可变历史的基础。
发布于 2017-12-07 10:39:36
实际上,_rev 是对文档及其所有修订版的确定性散列,至少对于CouchDB是这样。它还使用了前面的_rev,因此,如果对文档进行相同的更新,则基本上会得到一个确定性的散列。
不幸的是,它是一个MD5哈希,所以它并不真正适合与安全相关的东西。
AFAIK,永远不会检查_rev的实际值,只有破折号之前的部分必须是数字的。因此,您可以编写一个PouchDB插件来更改_rev生成,并在每次更新时检查_rev值的完整性。
https://stackoverflow.com/questions/47687474
复制相似问题