Rails tutorialの第6章を終えました。
今回はパスワードカラムの暗号化について
パスワード暗号化
パスワードカラムとか生で保存したくないデータを暗号化したいとき、bcrypt
を使うことで
暗号化することができます。
Gem
Gemfileに下記を追加します。
# パスワード暗号化Gem gem 'bcrypt', '~> 3.1.11'
インストールします。
$ bundle install
カラム追加
次にpassword_digestカラムを追加します
$ rails generate migration add_password_digest_to_users password_digest:string
has_secure_password
追加
最後にモデルに
has_secure_password
を追記します
class Hoge # パスワード暗号化 has_secure_password end
これで登録時にパスワードを生で登録時に、暗号化されて登録されます。
また認証時はauthenticate
メソッドを使用します。
NoSQLでのbcrypt
余談ではありますが、NoSQLでのbcryptの導入と使用例は下記にまとめています