首页 文章

bcrypt盐是否可以单独使用?

提问于
浏览
10

在Rails 3.1中使用 has_secure_password 时,bcrypt会为每个用户的密码随机生成一个salt . 根据this response,我了解salt是作为密码哈希的一部分存储的 . 是否有可用于分别访问该盐的方法或属性,例如用于编写安全cookie?

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

相关问题