想加密像设计宝石的密码并检查数据库

时间:2015-06-20 08:13:46

标签: ruby-on-rails devise

如何手动通过设计gem加密密码?这有什么宝石吗?

密码来自Web服务,我想加密它并检查我的数据库

1 个答案:

答案 0 :(得分:1)

Devise内部使用Bcrypt gem进行加密。 Bcrypt

class User < ActiveRecord::Base  
  before_save :encrypt_password
  validates_confirmation_of :password
  validates_presence_of :password, :on => :create

  def encrypt_password
    if password.present?
      self.password_salt = BCrypt::Engine.generate_salt
      self.password_hash = BCrypt::Engine.hash_secret(password,password_salt)
    end
  end
end

试试这个。