это мой первый пост в стеке.Мне просто любопытно, поскольку я читал о хешировании паролей, и чаще мне говорили использовать BCrypt.Тем не менее, есть ли какие-либо документы, которые я могу использовать, чтобы попытаться самостоятельно хешировать пароли?Я знаю, что использование BCrypt является оптимальным по соображениям безопасности, но я хотел бы поиграть и понять коды или функции, связанные с хешированием пароля, когда пользователь регистрируется без использования BCrypt или каких-либо других драгоценных камней.
Для этого у меня естьпопытался использовать 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
Как только я преобразую его в строки, столбец пароля в базе данных будет пустым после регистрации пользователя.Я знаю, что мои коды грязные, но я хотел бы попытаться зашифровать пароли без использования драгоценных камней.