10

在 Rails 3.1 中使用has_secure_password时,bcrypt 会为每个用户的密码随机生成一个 salt。基于此响应,我了解盐存储为密码哈希的一部分。是否有可用于单独访问该盐的方法或属性,例如用于编写安全 cookie?

4

1 回答 1

15

如果需要,您将能够获得盐和校验和。

gem install bcrypt-ruby
irb
require 'bcrypt'

hash = BCrypt::Password.create 'superpass'
=> "$2a$10$DtjuZD6nJtrBRLEySlSVm.bJyBMhEhVRAeiVk/GjmQdBNf7WhmDWi"
hash.salt
=> "$2a$10$DtjuZD6nJtrBRLEySlSVm."
hash.checksum
"bJyBMhEhVRAeiVk/GjmQdBNf7WhmDWi"
hash == "starbucks"
=> false
hash == "superpass"
=> true

你的盐和校验和会有所不同。

更多信息:https ://github.com/codahale/bcrypt-ruby

于 2011-05-31T14:36:55.960 回答