我正在尝试进行简单的用户身份验证,但是Digest::SHA1::hexdigest
会话控制器中的调用产生的哈希值与用户模型中的哈希值不同。
用户.rb:
class User < ActiveRecord::Base
before_save {|user| user.password = Digest::SHA1.hexdigest(user.password)}
...
end
session_controller.rb
def create
user = User.where(:username => params[:username], :password => Digest::SHA1.hexdigest(params[:password])).first
end
有没有什么办法解决这一问题?
例如,当我尝试登录时,字符串“密码”显示为“5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8”。
但是,在数据库中,相同的字符串“密码”显示为:“353e8061f2befecb6818ba0c034c632fb0bcae1b”