class ActiveSupport::KeyGenerator
KeyGenerator — это простой обёртку над реализацией PBKDF2 в OpenSSL. Его можно использовать для вывода нескольких ключей для различных целей из заданного секрета. Это позволяет приложениям Rails иметь один защищённый секрет, но избегать повторного использования этого ключа в нескольких несовместимых контекстах.
Публичные методы класса
# File activesupport/lib/active_support/key_generator.rb, line 10
def initialize(secret, options = {})
@secret = secret
# The default iterations are higher than required for our key derivation uses
# on the off chance someone uses this for password storage
@iterations = options[:iterations] || 2**16
end Публичные методы экземпляра
Возвращает выведенный ключ, подходящий для использования. Размер ключа по умолчанию выбран для совместимости с настройками по умолчанию ActiveSupport::MessageVerifier. т.е. OpenSSL::Digest::SHA1#block_length
# File activesupport/lib/active_support/key_generator.rb, line 20 def generate_key(salt, key_size=64) OpenSSL::PKCS5.pbkdf2_hmac_sha1(@secret, salt, @iterations, key_size) end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.