Help us understand the problem. What is going on with this article?

Railsでgemを利用して、パスワードを暗号化する

More than 1 year has passed since last update.

gemという外部ライブラリを利用して、ユーザーのパスワードを暗号化する方法を習ったので、まとめておきたいと思います。

bcryptのインストール

1.Gemfileに追記

gem 'bcrypt'

2.ターミナルでインストールコマンドを実行

bundle install

モデルにhas_secure_passwordを追加

has_secure_password

password_digestカラムを追加

1.change_users_columnsというマイグレーションファイルを作成

rails g migration change_users_columns

2.password_digestカラムの追加をマイグレーションファイルに記述

add_column :users, :password_digest, :string

3.passwordカラムの削除をマイグレーションファイルに記述

remove_column :users, :password, :string

4.変更の反映を実行

rails db:migrate

暗号化されたログイン処理を可能にする

def login
 @user = User.find_by(email: params[:email])
 if @user && @user.authenticate(params[:password])
.
.
.
end

#authenticateメソッドは渡された引数を暗号化し、password_digestの値と一致するかどうかを判定してくれる。
taccaya
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away