класс 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 Публичные Экземплярные Методы
# 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
Возвращает вычисленный ключ, пригодный для использования. Размер ключа по умолчанию выбран для совместимости с настройками по умолчанию ActiveSupport::MessageVerifier. т.е. OpenSSL::Digest::SHA1#block_length
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.