web入門
すばらしきwebの世界

ハッシュについて

2017.01.12セキュリティ

ざっくりとハッシュついて記載します。


ハッシュとは

ハッシュは、ある値や文字列をハッシュアルゴリズムにより変換させた値や文字列のことです。


特徴

ハッシュは非可逆性があり、ハッシュから元の文字を導きだすことが出来ません。


暗号化とハッシュの違い

ハッシュは先に述べたように非可逆的ですが、暗号はキーによって復元出来ます。


ハッシュの種類

ハッシュのアルゴリズムは様々に存在します。
主なアルゴリズムにMD系とSHA(シャー)系とがあるようです。
また、各プログラム言語ではBcryptが推奨されています。


SHA-1からSHA-2への移行

SHA-1(シャーワン)は効率かつ高速的な生成によりブルートフォース(いわゆる総当たりによる力ずく)で元の文字列を導きだしてしまいやすいです。なので、SHA-2(シャーツー)への移行が進められています。
その例として、https通信で使用するデジタル署名(SSL)のアルゴリズムにSHA-1ではなくSHA-2を使用するようになっています。