класс ActiveSupport::KeyGenerator
KeyGenerator — это простой оболочек над реализацией PBKDF2 в OpenSSL. Он может использоваться для вывода нескольких ключей для различных целей из заданного секрета. Это позволяет приложениям Rails иметь один безопасный секрет, но избегать повторного использования этого ключа в нескольких несовместимых контекстах.
Публичные методы класса
# File activesupport/lib/active_support/key_generator.rb, line 12
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 22 def generate_key(salt, key_size = 64) OpenSSL::PKCS5.pbkdf2_hmac_sha1(@secret, salt, @iterations, key_size) end
Возвращает выведенный ключ, подходящий для использования. Значение по умолчанию для key_size выбрано для совместимости с параметрами по умолчанию ActiveSupport::MessageVerifier. т.е. OpenSSL::Digest::SHA1#block_length
© 2004–2020 David Heinemeier Hansson
Licensed under the MIT License.