質問: rails でパスワード認証を実装する場合には、 devise が一般的に使われる、という理解をしています。 ふと devise の仕様について気になったのですが、 devise でテーブルに保存されたパスワード情報を使って、元の生パスワードを復元することはできますか?(devise の暗号化は、可逆ですか?)
回答: デフォルトのdeviseのパスワード暗号は不可逆です。 暗号化にはBcryptといういのが使われています。 一般に忘れてしまったパスワードはパスワードリセットメールを送り、再設定させますね。 安全性が気になるところではありますが、以下のような復号化ができるdeviseのエクステンションgemはあります。 こちらはAESが使われています。 ただ、他のところでも言われていますが、パスワードは復号化できない方がセキュリティ的にはベターです。