这是我的第一篇文章。我只是好奇,因为我已经读过有关密码哈希的知识,而且经常被告知我改用BCrypt。但是,是否可以使用任何文档以使我自己尝试对密码进行哈希处理?我知道使用BCrypt出于安全原因是最佳选择,但是我想在用户不使用BCrypt或任何其他gem的情况下试用并理解围绕密码散列的代码或功能。
为此,我尝试使用“ SecureRandom”和“ Digest”,但似乎仍然无法获得所需的输出。也许我还是这个新手。
这是我的密码。我对此很陌生。
require 'digest'
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
redirect_to root_url
else
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, password_hash([:password]))
end
def password_hash(password)
hash = Digest::SHA256.hexdigest(password)
end
end
将其转换为字符串后,用户注册后数据库中的密码列将为空。我知道我的代码很乱,但是我想尝试不使用gem来加密密码。
答案 0 :(得分:0)
我的团队始终使用Devise gem与用户合作。使用简单,拥有 功能强大:密码加密,发送电子邮件,授权和其他