ハッシュとは
ハッシュは、どんな長さのデータでも一定長の値に変換する関数や、その結果の値を指します。得られる値は元データの指紋のようなもので、同じ入力からは必ず同じ値が出ます。この要約は比較がしやすく、データの同一性確認や改ざん検出に役立ちます。
実務では、ダウンロードしたファイルの整合性チェック、パスワードの安全な保存、データベースでの高速検索、電子署名の一部などで使われます。値だけを比べればよいので、処理は軽く、確認を素早く行えます。
ハッシュ関数は一方向で、値から元の内容を現実的に復元できません。ただし異なる入力が同じ値になる衝突は理論上起こり得るため、衝突への強さと計算速度のバランスで方式を選びます。現在はMD5やSHA-1は避け、SHA-256などのSHA-2やSHA-3の利用が主流です。
要するに、ハッシュはデータを短い指紋に要約し、正しさの確認と安全な取り扱いを支える基盤技術です。

