用于在rails上验证ruby的哈希用户名和密码

时间:2015-01-10 11:59:03

标签: ruby-on-rails authentication

如何实现加密用户名的哈希函数(SHA512)并检查SQL Server中的用户名和密码是否正确?

如果您设置了明文用户名

,请立即登录
user = User.find_by(username: params[:session][:username].downcase)
if user && user.authenticate(params[:session][:password])
  log_in user
  redirect_to :root
else
  flash.now[:warning] = 'Wrong username/password'
  render 'new'
end

我尝试在运行if语句之前加密用户名,但我可以让它工作。 我对用户名进行散列的方式是:

username = params[:session][:username].downcase
username_encrypted = Digest::SHA2.new(512).hexdigest(username)

任何想法如何做到这一点?

我想用这个来实现的是。 SQL中有一列有加密的用户名,另一列有“公共”用户名。公共用户名对于站点上的每个人都可见,并且加密的用户名仅存储在SQL中以进行身份​​验证。

0 个答案:

没有答案