SQLのハッシュ化とは?

SQLのハッシュ化とは?

SQLのハッシュ化とは?

ハッシュ化とは、元になるデータ(文字列)からハッシュ(あるいはハッシュ値)と呼ばれる文字列に不可逆変換することを指します。ハッシュ化を行う関数をハッシュ関数と呼びます。ハッシュ関数にもいくつか種類があり、有名どころだと MD5 や SHA-256, SHA-512, bcrypt などがあります。

ハッシュ関数の種類

SQLで利用できるハッシュ関数には、様々な種類があります。以下にいくつかの代表的なハッシュ関数を紹介します。

ハッシュ関数 説明
MD5 128ビットのハッシュ値を生成する古典的な関数です。セキュリティ上の理由で新しい用途には推奨されません。
SHA-256 256ビットのハッシュ値を生成します。セキュリティが比較的高く、よく使用されます。
SHA-512 512ビットのハッシュ値を生成します。より高いセキュリティが求められる場合に使用されます。
bcrypt パスワードのハッシュ化に特化した関数で、計算コストを調整可能で安全性が高いです。

SQLでのハッシュ化の例

以下に、SQLを使用してデータをハッシュ化する例を示します。ここでは、MySQLでのMD5によるハッシュ化の例を紹介します。


INSERT INTO users (username, password_hash)
VALUES ('example_user', MD5('example_password'));

この例では、usersというテーブルにユーザー名とそのハッシュ化されたパスワードを挿入しています。

引用文献

その他の参考記事:angular hash password