Хеширование паролей в Ruby / Ruby on Rails - PullRequest
0 голосов
/ 17 апреля 2019

это мой первый пост в стеке.Мне просто любопытно, поскольку я читал о хешировании паролей, и чаще мне говорили использовать 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

Как только я преобразую его в строки, столбец пароля в базе данных будет пустым после регистрации пользователя.Я знаю, что мои коды грязные, но я хотел бы попытаться зашифровать пароли без использования драгоценных камней.

1 Ответ

0 голосов
/ 17 апреля 2019

Моя команда всегда использует Devise Gem для работы с пользователями.Он прост в использовании и имеет большой функционал, такой как: шифрование пароля, отправка электронной почты, авторизация и др.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...