class ActiveRecord::Encryption::DerivedSecretKeyProvider

A KeyProvider that derives keys from passwords.

Public Class Methods

new(passwords, key_generator: ActiveRecord::Encryption.key_generator) click to toggle source
Calls superclass method
# File lib/active_record/encryption/derived_secret_key_provider.rb, line 7
def initialize(passwords, key_generator: ActiveRecord::Encryption.key_generator)
  super(Array(passwords).collect { |password| derive_key_from(password, using: key_generator) })
end

Private Instance Methods

derive_key_from(password, using: key_generator) click to toggle source
# File lib/active_record/encryption/derived_secret_key_provider.rb, line 12
def derive_key_from(password, using: key_generator)
  secret = using.derive_key_from(password)
  ActiveRecord::Encryption::Key.new(secret)
end