gpt4 book ai didi

ruby-on-rails - password_hash/password_salt 与 password_digest

转载 作者:太空宇宙 更新时间:2023-11-03 17:48:40 25 4
gpt4 key购买 nike

我目前正在阅读 Michael Hartl 的书(Ruby on Rails 教程第 3 版),他使用 password_digest 和他的身份验证模型,我查看了 Pragmatic Studio 的 Rails 类(class),在他们的示例视频中,他们在他们的身份验证模型中使用 passowrd_hash/password_salt。从维基百科看来,salt 似乎是密码学中的标准用法,并且具有多种安全用途。我在 password_digest 上真正能找到的是它与 rails 方法 has_secure_password 一起工作。

是一个人比另一个人更受欢迎,还是他们最终服务于不同的目的?

最佳答案

当使用 has_secure_password 时,许多加密魔法会自动为您完成,并且会公开一些功能,使您更容易验证用户的密码。

摘自 has_secure_password 文档:

# Schema: User(name:string, password_digest:string)
class User < ActiveRecord::Base
has_secure_password
end

user = User.new(name: 'david', password: '', password_confirmation: 'nomatch')
user.save
# => false, password required

user.password = 'mUc3m00RsqyRe'
user.save
# => false, confirmation doesn't match

user.password_confirmation = 'mUc3m00RsqyRe'
user.save
# => true

user.authenticate('notright')
# => false
user.authenticate('mUc3m00RsqyRe')
# => user
User.find_by(name: 'david').try(:authenticate, 'notright')
# => false
User.find_by(name: 'david').try(:authenticate, 'mUc3m00RsqyRe')
# => user

您提到的两个系统都可以使用,这取决于您希望使用什么、您有哪些可用选项等。

关于ruby-on-rails - password_hash/password_salt 与 password_digest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com