ホーム / ガイド / ハッシュはどこで使われるか — Git・ブロックチェーン・重複排除

ハッシュ関数は目立ちませんが、現代のソフトウェアの随所で中心的な役割を果たします。同じ入力に常に同じ短いフィンガープリントを返すという性質のおかげで、識別・比較・検証が必要なほぼすべての場所で使われます。

Gitはすべてのコミット・ファイルをハッシュで識別します。内容が同じならハッシュが同じで重複保存を避け、内容が変わればハッシュが変わって変更を検知します。ブロックチェーンもブロックをハッシュで連結し、過去の記録の改ざんを不可能にします。

重複排除(dedup)にもハッシュが使われます。ファイル・データのハッシュを比較すれば、内容全体を比較せずに同一かどうかを高速に判定できます。クラウドストレージ・バックアップシステムはこの方式で保存領域を節約します。

この他にもハッシュテーブル(データ構造)、キャッシュキー、コンテンツアドレッシング(CDN)、デジタル署名など活用は尽きません。用途に合ったアルゴリズム選択が重要で、セキュリティが必要ならSHA-256以上を、単純に速度が必要なら非暗号ハッシュを選べばよいのです。

このアルゴリズムでハッシュ化