SHA-1
ハッシュ関数だよ
160ビットの適当な値が返ってくるよ
「SHA」の部分は「Secure Hash Algorithm」の略だよ
簡単に書くよ
SHA-1(読:エスエィチエー1)とは
ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)のひとつ。
もう少し噛み砕いて書くと
入力されたデータをもとにして作った適当な値を返してくれる関数
(処理のまとまり)のひとつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「関数」と「ハッシュ関数」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
一般的には、入力を受けて処理をやり、その結果として出力があります。
ついでなので書いておくと、関数に入れる値は「引数(ヒキスウ)」と言います。
関数から出てくる値は「戻り値」です。
ちょっと汚い話で恐縮ですが、人間は、ご飯を食べて、ウンチを出します。
人間が関数だと考えてください。
ご飯に相当するものが引数です。
ウンチに相当するものが戻り値になります。
ハッシュ関数は「入力に対応する適当な値(適当に見える値)を返してくれる関数」です。
例えば、ハッシュ関数に「愛媛みかん」を入れると「3」が返ってくるとしましょう。
同じように「青森りんご」を入れると「4」が返ってきます。
「栃木苺」を入れた場合は「5」が返ってきます。
ハッシュ関数は同じ物を入れれば必ず同じ値が返ってきます。
「愛媛みかん」を入れた場合に返ってくるのは、必ず「3」です。
何回入れても「3」が返ってきます。
「4」が返ってくることは ありません。
ハッシュ関数には
1.適当な値が返ってくる
2.同じ入力に対しては同じ値が返ってくる
という特徴があります。
※話を単純化するために「適当な値」という表現を使っていますが、実際には適当では ありません。入力されたデータを「特定のルールに沿って」ぐちゃぐちゃにした値が返ってきます。
さて、このハッシュ関数ですが、世の中に1つしかないわけでは ありません。
いろいろな種類のハッシュ関数があります。
例えば、返してくれる値(適当な値)の作り方が違ったりですね。
あるいは、返してくれる値の桁数が違ったりですね。
一口に「ハッシュ関数」と言っても、いくつかの種類があるのです。
以上を踏まえて
いろいろあるハッシュ関数のひとつ
が「SHA-1」です。
「SHA」の部分は「Secure Hash Algorithm(セキュア・ハッシュ・アルゴリズム)」の省略ね。
secure(セキュア)の意味は「安全な」です。
hash(ハッシュ)はハッシュ関数の「ハッシュ」です。
algorithm(アルゴリズム)はカタカナで「アルゴリズム」で伝わりますかね。
単純にくっつけると
安全なハッシュアルゴリズム
となります。
SHA-1は入力に対して160ビットの適当な値を作って返してくれます。
言い換えると
何か入れると長さが160ビットの適当な値を返してくれる関数
がSHA-1です。
細かく見ていくと、いろいろな特徴がありますけどね。
具体的なことは他のところで勉強してください。
一言でまとめるよ
まぁ「SHA-1」って単語が出てきたら「ハッシュ関数
(入力されたデータをもとにして作った適当な値を返してくれる関数)(のひとつ)なんだな~」と お考えください。






