W3cubDocs

/Ruby on Rails 7.0

class ActiveRecord::Encryption::Key

Parent:
Object

A key is a container for a given secret

Optionally, it can include public_tags. These tags are meant to be stored in clean (public) and can be used, for example, to include information that references the key for a future retrieval operation.

Attributes

public_tags[R]
secret[R]

Public Class Methods

derive_from(password) Show source
# File activerecord/lib/active_record/encryption/key.rb, line 18
def self.derive_from(password)
  secret = ActiveRecord::Encryption.key_generator.derive_key_from(password)
  ActiveRecord::Encryption::Key.new(secret)
end
new(secret) Show source
# File activerecord/lib/active_record/encryption/key.rb, line 13
def initialize(secret)
  @secret = secret
  @public_tags = Properties.new
end

Public Instance Methods

# File activerecord/lib/active_record/encryption/key.rb, line 23
def id
  Digest::SHA1.hexdigest(secret).first(4)
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.