ハッシュ関数は、入力された値に対して適当に違う値が出される暗号化方式です。
ハッシュ関数を不思議な製造機としてみます。牛乳を入れるとヨーグルトに、イチゴを入れるとイチゴジャムに、リンゴを入れるとリンゴジュースになります。このように何かを入れると何かを適当に出してくれるのがハッシュ関数というイメージです。同じものを入れると同じものが返ってくるので、牛乳を入れてもバターは出ずにヨーグルトが出てきます。


パスワードは漏洩したら困るから一般的にこのハッシュ関数が使われているのよ
意味:ハッシュ関数とは入力された値に対して適当な値を返す暗号方式
ハッシュ関数は、なにか文字列が入力されたら適当な決まった長さの適当に見える文字列を出力する暗号方式です。出力された文字列のことをハッシュ、そして入力された数字なり文字列演算をしてくれる関数という存在が合わさってハッシュ関数と言います。ちなみに、ハッシュ関数から返ってくる値をハッシュ値と言います。
ECサイトなどのWebサイトは基本的にハッシュ化されていて、個人情報の漏洩などを防ぎ、安心してネットで買物をできるなど活躍している暗号方式なんです。
ハッシュ関数の特徴
ハッシュ関数には3つ特徴があります。
同じ値を出力
同じ値が入力された場合は、同じ値が出力されるという特徴があります。1文字でも違えばまったく違った値が出力されるということです。
一方向関数
出力されたハッシュ値から元の値を非常に難しく不可逆性と言われています。一方向にしか通用しない関数というのが特徴で、これによって強力な暗号化が可能になっています。
固定出力値
入力された値の長さに関係なく固定された出力値が出てきます。入力するのが1文字であろうと10文字であろうと、出力される文字列の長さは同じというわけです。
イメージしてみよう
パポ ⇒ハッシュ関数⇒134GD4Y98U
パポちゃん⇒ハッシュ関数⇒445OPK0H4E
例なので必ずこれが出るわけではありません。このようにどんな長さの文字を入力しても決まった長さの乱数が出力され、似た文字列でも1文字違うだけで違うハッシュ値が返されます。
入れたものを別の値で覆い隠しちゃうって感じ?