[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ハッシュ値 (hash value)

pointこの用語のポイント

pointハッシュ関数の戻り値だよ

point元データに対して生成された適当な値(適当に見える値)だよ

スポンサーリンク

簡単に書くよ

ハッシュ値 (hash value)とは

ハッシュ関数から返される値。
つまり

元のデータをあれやこれやして作られた一見すると適当に見える値
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「関数」と「ハッシュ関数」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

関数は「何かを入れると何かを計算して何かを返してくれるプログラムの部品」です。
一般的には、入力を受けて処理を行い、その結果として出力があります。

ハッシュ値

ついでなので書いておくと、関数に入れる値は「引数」と言います。

ハッシュ値2

関数から出てくる値は「戻り値」です。

ハッシュ値3

ちょっと汚い話で恐縮ですが、人間は、ご飯を食べて、ウンチを出します。

ハッシュ値4

人間が関数だと考えてください。
ご飯に相当するものが引数です。
ウンチに相当するものが戻り値になります。

ハッシュ値5

ハッシュ関数は「適当な値を中に放り込むと適当な値を返してくれる関数」です。
例えば「愛媛みかん」を入れると「3」が返ってきます。
「青森りんご」を入れると「4」が返ってきます。
「栃木苺」を入れると「とちおとめ」が返ってきたりします。

ハッシュ値6

何を入れると何が返ってくるか、入れたものからは分かりません。
返ってくるのは適当な値です。

ただし、同じ物を入れれば、必ず同じ値が返ってきます。
「愛媛みかん」を入れると、必ず「3」が返ってきます。
何回入れても「3」が返ってきます。

1.適当な値が返ってくる
2.同じ入力に対しては同じ値が返ってくる


というのがハッシュ関数の特徴です。
※話を単純化するために「適当な値」という表現を使っていますが、実際には適当ではありません。入力されたデータを「特定のルールに沿って」ぐちゃぐちゃにした値が返ってきます。

以上を踏まえて、ハッシュ関数から返ってくる値(戻り値)が「ハッシュ値」です。
入力されたデータを元にして作られた適当な値(適当に見える値)です。

ハッシュ値7

ハッシュ値には

・ハッシュ値から元のデータを特定するのは、ほとんど無理
・元のデータが同じなら生成されるハッシュ値も同じ
・元のデータが少し変わると生成されるハッシュ値はガッツリ変わる


といった特徴があります。
「元データ→ハッシュ値」はお手軽だけど「元データ←ハッシュ値」はすっごい大変だよ、ということです。

その特徴を活かして、ハッシュ値さんはハッシュテーブルやデータのチェックなどで活躍しています。
ハッシュ値さんの活躍の模様は、ここでは触れません。
興味がある方は「ハッシュテーブル」や「ハッシュ関数」の解説をご覧ください。

image piyo2

一言でまとめるよ

まぁ「ハッシュ値」って単語が出てきたら「ハッシュ関数の戻り値(入力に対応する適当な値)なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク