LoginSignup
0
0

More than 3 years have passed since last update.

gem bcryptの使い方

Posted at

gem bcryptとは?

パスワードをハッシュ化するための関数を提供してくれるgemです。
Gemfileに既にコメントアウトされてあるので、コメントアウトを外しbundleします。

ハッシュ関数とは?

適当な値を中に放り込むと適当な値を返してくれる関数のこと。
bcryptで生成されたハッシュ値は60文字で出力されます。

文字列 → ハッシュ関数生成 → カラム保存
という流れになります。

/model

 def password=(raw_password)
    if raw_password.kind_of?(String)
      self.hashed_password = BCrypt::Password.create(raw_password)
    elsif raw_password.nil?
      self.hashed_password = nil
    end
  end

引数をとり、kind_ofメソッドで文字列かどうかの判定を入れています。stringクラスであればtrueが返ります。

BCrypt::Password.createでインスタンスを生成し、カラムであるhashed_passwordに代入しています。

参考:https://hiyo-ac.hatenablog.com/entry/2019/01/27/160644
        https://wa3.i-3-i.info/word11948.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0