【Rails】パスワードカラムの暗号化(Bcrypt)について_Railsチュートリアル6章より

Rails tutorialの第6章を終えました。
今回はパスワードカラムの暗号化について

railstutorial.jp

パスワード暗号化

パスワードカラムとか生で保存したくないデータを暗号化したいとき、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の導入と使用例は下記にまとめています

www.onthebacksoftheflyer.work