修改
以下是我要解决的问题:
我有一个分成多个部分的字符串。这些部分的长度不相等或可预测。每个部分都有一个哈希值。当我连接部分时,我希望能够使用每个部分的哈希值来快速获取部分的哈希值。此外,通过将部分放在一起而生成的哈希必须匹配在字符串作为整体进行哈希处理时生成的哈希值。
基本上我想要一个散列算法,其中被散列的数据部分可以并行散列,我不希望碎片的顺序或长度很重要。我没有分解字符串,而是以不可预测的顺序以不可预测的方式接收它。
我愿意确保碰撞率提高,只要它不会太高。我也可以使用稍慢的算法,因为它在小字符串上几乎不可察觉,并且对于大字符串并行完成。
我所熟悉的几个散列算法,但是我现在有一个用例,用于与属性的散列算法,两个散列的总和等于两个项目的总和的散列。
要求/吉文斯
如果这是一种与其相关术语的算法,我很想知道这个术语。如果我知道这种类型的哈希算法的正确术语/名称是什么,谷歌会更容易。
我认为实现这一目标的最简单方法是:
答案 0 :(得分:1)
我没有看到添加每个(无符号)字节值来创建一个哈希值只是所有字符总和的错误。有一个溢出没有错:即使你达到32/64位限制(并且它必须是一个非常/非常长的字符串来执行此操作)溢出为负数在2的补码算法中无关紧要。由于这是一个线性过程,因此拆分字符串并不重要。