単純なユーザー認証を実行しようとしていますがDigest::SHA1::hexdigest
、セッションコントローラーでの呼び出しにより、ユーザーモデルのハッシュとは異なるハッシュが生成されます。
user.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
これを修正する方法はありますか?
たとえば、ログインしようとすると、文字列「password」は「5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8」と表示されます。
ただし、データベースでは、同じ文字列「password」は「353e8061f2befecb6818ba0c034c632fb0bcae1b」と表示されます。