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