dullwhaleのメモ帳

何度も同じことを調べなくてよいように...

高速な非暗号学的ハッシュアルゴリズムxxHashを使う

ハッシュの利用目的が改ざんの検知などでは「ない」とき、定番のアルゴリズムであるSHA(secure hash algorithm)やMD5(message digest algorithm 5)は不適なことがある。 そのような場合にxxHashアルゴリズムの利用を検討すると良い。

非暗号学的な利用においては、ハッシュ値の計算速度が重要な場合がある。 既に脆弱と言われているMD5SHA1ですら、暗号学的ハッシュとして設計されているから、その用途の観点で見ると無駄な演算が発生し遅い。

非暗号学的用途に特化して設計されていて、ある程度普及しているハッシュアルゴリズムとしてxxHashがある。 オリジナルはC言語で実装されているようだが、主要な言語向けの移植が揃っている。

cf. xxHash - Extremely fast non-cryptographic hash algorithm