Miklix

MurmurHash3F ハッシュコード計算機

出版された: 2025年2月18日 0:28:00 UTC

MurmurHash3F ハッシュ関数を使用して、テキスト入力またはファイルのアップロードに基づいてハッシュ コードを計算するハッシュ コード計算機。

このページは、できるだけ多くの人がアクセスできるように、英語から機械翻訳されたものです。残念ながら、機械翻訳はまだ完全な技術ではないため、エラーが発生する可能性があります。もしよろしければ、こちらでオリジナルの英語版をご覧ください:

MurmurHash3F Hash Code Calculator

MurmurHash3 は、2008 年に Austin Appleby によって設計された非暗号化ハッシュ関数です。その速度、シンプルさ、優れた分散特性により、汎用ハッシュに広く使用されています。MurmurHash 関数は、ハッシュ テーブル、ブルーム フィルター、データ重複排除システムなどのハッシュベースのデータ構造に特に効果的です。

このページに示されているバリアントは 3F バリアントで、64 ビット システム用に最適化されています。これは 128 ビット (16 バイト) のハッシュ コードを生成します。これは通常、32 桁の 16 進数として表されます。

完全開示:このページで使われているハッシュ関数の特定の実装を書いたのは私ではない。これはPHPプログラミング言語に含まれる標準関数である。私は便宜上、ウェブ・インターフェースを作成し、ここで一般に利用できるようにしただけである。


新しいハッシュコードを計算する

このフォームを通じて送信されたデータまたはアップロードされたファイルは、要求されたハッシュコードを生成するのに必要な時間のみサーバーに保存されます。結果がお客様のブラウザに返される直前に削除されます。

入力データ:



提出されたテキストはUTF-8でエンコードされている。ハッシュ関数はバイナリデータを操作するため、テキストが別のエンコーディングであった場合とは結果が異なります。特定のエンコーディングのテキストのハッシュを計算する必要がある場合は、代わりにファイルをアップロードしてください。



MurmurHash3Fハッシュアルゴリズムについて

私は数学者ではありませんが、このハッシュ関数を数学者ではない仲間にも理解できるような例えを使って説明してみます。科学的に正しい、完全な数学的説明がお好みなら、他の場所で見つけられると思います ;-)

さて、大きな箱にレゴブロックが詰まっていると想像してください。ブロックを特定の方法で並べるたびに写真を撮ります。並べたものがどれだけ大きくてカラフルであっても、カメラは常に小さくて固定サイズの写真を撮影します。その写真は、コンパクトな形でレゴ作品を表しています。

MurmurHash3 は、データに対して同様のことを行います。あらゆる種類のデータ (テキスト、数字、ファイル) を取得し、それを小さな固定の「指紋」またはハッシュ値に縮小します。この指紋により、コンピューターはデータ全体を確認する必要なく、データをすばやく識別、並べ替え、比較できるようになります。

もう 1 つの例えは、ケーキを焼くことと、MurmurHash3 がそのケーキを小さなカップケーキ (ハッシュ) に変えるレシピです。これは 3 つのステップのプロセスです。

ステップ 1: 細かく切り分ける (データを分割する)

  • まず、MurmurHash3 は、ケーキを均等な正方形に切るように、データを均等なチャンクにスライスします。

ステップ2:激しく混ぜる(塊を混ぜる)

  • 各作品は、ワイルドな混合プロセスを経ます。
    • ひっくり返す: パンケーキをひっくり返すように、ビットを並べ替えます。
    • かき混ぜる: ランダムな材料(数学的演算)を追加して混ぜ合わせます。
    • 圧縮: 元の部分が目立たないようにデータを圧縮します。

ステップ3: 最終味見テスト(仕上げ)

  • すべてのチャンクを混ぜた後、MurmurHash3 は最後にもう一度かき混ぜて、元のデータにほんの少しでも変化があれば、フレーバー (ハッシュ) が完全に変わることを確認します。

BlueskyでシェアFacebookでシェアLinkedInでシェアTumblrでシェアXでシェアLinkedInでシェアPinterest にピン留めする

ミッケル・バン・クリステンセン

著者について

ミッケル・バン・クリステンセン
ミッケルはmiklix.comの開発者でありオーナーです。プロのコンピューター・プログラマー/ソフトウェア開発者として20年以上の経験を持ち、現在はヨーロッパの大手IT企業に常勤している。ブログを書いていないときは、さまざまな興味、趣味、活動に余暇を費やしている。