ハッシュ値
任意のデータをハッシュ関数で計算する固定長の値です。
用語解説
ハッシュ値とは、データ(文字列、ファイルなど)をハッシュ関数に入力して得られる固定長の値です。
同じハッシュ関数を使う限り、入力が短文でも長文でも、出力されるハッシュ値の長さは一定です。
元のデータが少しでも変わるとハッシュ値も変化する性質を利用して、同一性確認や改ざん検知に使います。
仕組み
データを入力してハッシュ値を得る流れは次のとおりです。
-
入力: ファイル、文章、パスワードなどのデータ
-
計算: ハッシュ関数で計算する
-
出力: 固定長のハッシュ値
ハッシュ値の重要な性質
-
固定長の出力です。入力データの大きさに関係なく、ハッシュ値の長さは一定です。
-
一方向性があるとされます。ハッシュ値から元のデータを復元することは現実的に困難です。
-
衝突が起こりにくいとされます。異なるデータが同じハッシュ値になる可能性は低いです。
-
入力がわずかに変わると出力が大きく変わります。例えば1文字の違いでも別のハッシュ値になります。
ハッシュ関数の代表例
| ハッシュ関数 | 出力されるハッシュ値の長さ |
|---|---|
| MD5 | 128ビット(32桁の16進数) |
| SHA-1 | 160ビット(40桁の16進数) |
| SHA-256 | 256ビット(64桁の16進数) |
※本解説は生成AIによる学習支援用の参考情報です。内容の正確性や最新性は保証されません。生成された回答を再確認するようにしてください。