Sha256: c494c3132346759eff574c1518131b04cf863e1658c832d75bcafe3611d26cad
Contents?: true
Size: 582 Bytes
Versions: 42
Compression:
Stored size: 582 Bytes
Contents
# frozen_string_literal: true module ActiveRecord module Encryption # A KeyProvider that derives keys from passwords. class DerivedSecretKeyProvider < KeyProvider def initialize(passwords, key_generator: ActiveRecord::Encryption.key_generator) super(Array(passwords).collect { |password| derive_key_from(password, using: key_generator) }) end private def derive_key_from(password, using: key_generator) secret = using.derive_key_from(password) ActiveRecord::Encryption::Key.new(secret) end end end end
Version data entries
42 entries across 42 versions & 5 rubygems