ハッシュ値
ハッシュ関数の戻り値だよ
元データに対して生成された適当な値(適当に見える値)だよ
簡単に書くよ
ハッシュ値(読:ハッシュチ 英:hash value)とは
ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)から返される値
であり
元のデータを あれやこれやして作られた、一見すると適当に見える値
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「関数」と「ハッシュ関数」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
一般的には、入力を受けて処理をやり、その結果として出力があります。
ついでなので書いておくと、関数に入れる値は「引数(ヒキスウ)」と言います。
関数から出てくる値は「戻り値」です。
ちょっと汚い話で恐縮ですが、人間は、ご飯を食べて、ウンチを出します。
人間が関数だと考えてください。
ご飯に相当するものが引数です。
ウンチに相当するものが戻り値になります。
ハッシュ関数は「入力に対応する適当な値(適当に見える値)を返してくれる関数」です。
例えば「愛媛みかん」を入れると「3」が返ってきます。
「青森りんご」を入れると「4」が返ってきます。
「栃木苺」を入れると「とちおとめ」が返ってきたりします。
何を入れると何が返ってくるか、入れたものからは分かりません。
返ってくるのは適当な値です。
ただし、同じものを入れれば、必ず同じ値が返ってきます。
「愛媛みかん」を入れると、必ず「3」が返ってきます。
何回入れても「3」が返ってきます。
1.適当な値が返ってくる
2.同じ入力に対しては同じ値が返ってくる
というのがハッシュ関数の特徴です。
※話を単純化するために「適当な値」という表現を使っていますが、実際には適当では ありません。入力されたデータを「特定のルールに沿って」ぐちゃぐちゃにした値が返ってきます。
以上を踏まえて
ハッシュ関数から返ってくる値(戻り値)
が「ハッシュ値」です。
入力されたデータをもとにして作られた適当な値(適当に見える値)です。
ハッシュ値には
1.ハッシュ値から元のデータを特定するのは、ほとんど無理
2.元のデータが同じなら生成されるハッシュ値も同じ
3.元のデータが変わると生成されるハッシュ値は(ガッツリと)変わる
といった特徴があります。
「元データ→ハッシュ値」は お手軽だけど「元データ←ハッシュ値」は すっごい大変だよ、ということです。
その特徴を活かして、ハッシュ値さんはハッシュテーブルやデータのチェックなどで活躍しています。
ハッシュ値さんの活躍の模様は、ここでは触れません。
興味がある方は「ハッシュテーブル」や「ハッシュ関数」の説明を ご覧ください。
一言でまとめるよ
まぁ「ハッシュ値」って単語が出てきたら「ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)からの戻り値(入力に対応する適当な値)なんだな~」と お考えください。
おまけ
■訳してみるよ
「hash(ハッシュ)」は「ハッシュドポテト」の「ハッシュ」です。
意味は「切り刻む」とか「細切れにする」とか「薄切りにする」とか「寄せ集め」とか「ごちゃまぜ」とかです。
「値」は日本語ですね。
何となく くっつけると
細切れにした値
となります。
■検索してみる?






