とある開発現場で、パスワードが暗号化されてDBに保持されていた事を思い出しました。
パスワードは暗号化ではダメだったはず・・・
という事で調べてみました。
ハッシュ化とは
データをハッシュアルゴリズム(md5・sha1・sha-256等)に従って、ハッシュ値と呼ばれる規則性のない固定長の値を求めます。
このデータは不可逆変換なので、元のデータへ戻すことは現実的ではありません。
結論
もしも暗号化したパスワードを悪意のある第三者に抜き取られた場合、復号されてしまうかもしれません。
そうでなくとも、パスワードは復元する必要がないものなので、余計なリスクは抱えない方が良いでしょう。
ログイン認証等も、ユーザの入力値をハッシュ化したものと照合すれば可能です。
もちろん、平文で保持なんて事は論外です!