XXH128 ハッシュ生成

文字列のxxh128ハッシュを生成

XXH128 hash

あらゆる文字列からxxh128ハッシュを生成できるオンラインツールです。

XXH128 の長さは 32 文字です

このツールは役に立ちましたか?

平均評価: 4.8/5 (8件の評価に基づく)

私たちの活動を支援する

利用可能なハッシュ

MD2 ハッシュ, MD4 ハッシュ, MD5 ハッシュ, SHA1 ハッシュ, SHA224 ハッシュ, SHA256 ハッシュ, SHA384 ハッシュ, SHA512/224 ハッシュ, SHA512/256 ハッシュ, SHA512 ハッシュ, SHA3-224 ハッシュ, SHA3-256 ハッシュ, SHA3-384 ハッシュ, SHA3-512 ハッシュ, RIPEMD128 ハッシュ, RIPEMD160 ハッシュ, RIPEMD256 ハッシュ, RIPEMD320 ハッシュ, WHIRLPOOL ハッシュ, TIGER128,3 ハッシュ, TIGER160,3 ハッシュ, TIGER192,3 ハッシュ, TIGER128,4 ハッシュ, TIGER160,4 ハッシュ, TIGER192,4 ハッシュ, SNEFRU ハッシュ, SNEFRU256 ハッシュ, GOST ハッシュ, GOST-CRYPTO ハッシュ, ADLER32 ハッシュ, CRC32 ハッシュ, CRC32B ハッシュ, CRC32C ハッシュ, FNV132 ハッシュ, FNV1A32 ハッシュ, FNV164 ハッシュ, FNV1A64 ハッシュ, JOAAT ハッシュ, MURMUR3A ハッシュ, MURMUR3C ハッシュ, MURMUR3F ハッシュ, XXH32 ハッシュ, XXH64 ハッシュ, XXH3 ハッシュ, XXH128 ハッシュ, HAVAL128,3 ハッシュ, HAVAL160,3 ハッシュ, HAVAL192,3 ハッシュ, HAVAL224,3 ハッシュ, HAVAL256,3 ハッシュ, HAVAL128,4 ハッシュ, HAVAL160,4 ハッシュ, HAVAL192,4 ハッシュ, HAVAL224,4 ハッシュ, HAVAL256,4 ハッシュ, HAVAL128,5 ハッシュ, HAVAL160,5 ハッシュ, HAVAL192,5 ハッシュ, HAVAL224,5 ハッシュ, HAVAL256,5 ハッシュ,

XXH128とは?

XXH128は、XXH3アルゴリズムの128ビット版です。XXH3は64ビットまたは128ビットの出力を生成できますが、XXH128は、128ビットのダイジェストを完全に生成するように特別に実装されたものです。 これは、数兆ものアイテムをハッシュ処理する場合でも、衝突の確率が数学的に無視できるほど低くなければならない用途向けに設計されています。XXH3と同様に、最新のCPU向けに構築されており、ベクトル化命令を使用して高速化を実現しているため、現存する128ビットハッシュ関数の中でも最速クラスの一つとなっています。

XXH128ハッシュの仕組み

XXH128はXXH3のコアを基盤としており、「アバランチ」混合フェーズを拡張して、2倍の状態サイズを処理できるようにしています:

  1. 状態の拡張: 64ビット幅の2つの並列内部状態を利用し、SIMD命令を用いて同時に処理します。
  2. ワイドミキシング:このアルゴリズムはXXH64と比較してより大きなチャンクでデータを処理し、入力が128ビットの状態全体に「拡散」されるようにします。
  3. シークレット・キーイング:ミキシングフェーズ中に「シークレット」(擬似ランダムなデータブロック)を組み込みます。これにより、ハッシュ出力は入力だけでなく内部定数にも依存するようになり、分布の質と悪意のある衝突攻撃に対する耐性が大幅に向上します。
  4. 最終処理(128ビットアバランチ):最終処理段階では、2つの64ビットアキュムレータに対して集中的にビット単位の混合を行い、均一性の高い128ビットのフィンガープリントを生成します。

比較:XXH128 対 XXH3 および XXH64

  • XXH128 対 XXH64:
  • 衝突耐性: XXH128 は圧倒的に優れています。128ビットの出力を持つため、バースデーパラドックスによる衝突の閾値は、64ビットハッシュ(XXH64)に比べて指数関数的に高くなります。 アプリケーションで大規模なデータセット(例:ビッグデータのインデックス作成)を扱う場合、XXH128の方が安全な選択です。
  • パフォーマンス:XXH128はビット数が2倍であるにもかかわらず、ベクトル化(SIMD)実装の効率性により、XXH64に比べてわずかに遅い程度です。

  • XXH128 対 XXH3(64ビットモード):

  • 主な用途: XXH3(64ビットモード)は、衝突をデータ構造側で処理する「速度を最優先する」ハッシュテーブルを想定しています。 XXH128は、一意で衝突耐性のある識別子が必要な、「整合性を重視した」アプリケーション(ファイルの重複排除や大規模データブロックの検証など)を想定しています。
  • 計算量: XXH128は、内部状態を最終的な128ビットのダイジェストに「圧縮」するために、より複雑な最終処理段階を使用しますが、XXH3(64ビット)はそれより少し早い段階で処理を終了します。

ToolsYEPを気に入っていただけましたか?私たちの活動を支援してください!

トップ