たぶん世界一わかりやすい ハッシュ(hash)の説明

ハッシュ(hash)とは何かご存じですか?
いろんなサイトで説明されているけど、いまいちよくわからん。そんな方のためにハッシュの全体像を掴みやすくするためにかみ砕いて説明してみました。

ハッシュ(hash)ってなに?

たとえば、ここに文章があります。

「明日の天気は晴れです。」

この文章を[ある計算式(後ほど説明します)]を通すとこうなったりします。

d5a4508fdc93cac73a5eb91ab96c020e

この長い数値をハッシュ値または、単にハッシュっていいます。
ハッシュとは、データを投入して生成される数値のこととまずは覚えておきましょう。

何でこんな面倒なことするのよ?

おっしゃる通りです。
なんでこんな面倒なことするんでしょうか。理由なんてありません。冗談です。しっかりあります。

ハッシュが使用される理由はいくつかあります。もっとも大きな理由それは

データのに誤りがないかを確認するためです。

このデータに間違いがないか、正しいものなのかを教えてくれるんです。

データ検証のためのハッシュ(hash)

時代の流れを踏まえて説明していきましょう。

現在のようなブロードバンド時代が到来する前、通信速度がとんでもなく遅く、エラーも起きやすかったとき
データが通信中のバグにより変わってしまったことがあります。

送信者と受信者のデータ内容が異なってしまったのです。

受信者はデータが変わったかどうかわからない!!
そこで登場のハッシュくんの出番です。

送信者はデータと一緒にハッシュも送付します。
受信者は送られてきたデータを共通の計算式を利用してハッシュ値に変えます。
その数値が一致していたら、OK問題なし!となります。

ハッシュは送信者、受信者のデータが一致しているか判断するために使っているんです。

続きはまた