Ассоциативная некоммутативная хеш-функция

Есть ли хеш-функция со следующим свойства?

  • ассоциативно
  • не коммутативно
  • легко реализуемо на 32-битных целых числах: int32 hash (int32, int32)

Если я прав, такая функция позволяет достичь следующих целей

  • вычислить хэш объединенной строки из хэшей подстрок
  • вычислить хэш одновременно
  • вычислить хэш списка, реализованного в двоичном дереве - включая порядок, но исключая то, как дерево сбалансировано

Лучшее, что я нашел до сих пор, - это умножение матрицы 4x4 бит, но это неудобно для реализации и уменьшает пространство до 16 бит.

Я благодарен за любую помощь.

6
задан Maciej Mikosik 30 March 2011 в 19:19
поделиться