При использовании has_secure_password
в Rails 3.1 bcrypt случайным образом генерирует соль для пароля каждого пользователя. На основании этого ответа я поймите, что соль хранится как часть хэша пароля. Есть ли метод или атрибут для отдельного доступа к этой соли, например, для использования при написании безопасных файлов cookie?
Доступны ли соли bcrypt отдельно?
Ответы (1)
Вы сможете получить соль и контрольную сумму, если она вам понадобится.
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
person
Jesse Wolgamott
schedule
31.05.2011
Спасибо! Имея это в виду, а также взгляните на безопасный_пароль Rails. model, я смог определить, что мне нужно написать метод для моего кода (во всяком случае, для аккуратного доступа к соли) ._ 1_ идеально!
- person joanwolk; 02.06.2011