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.
Methods
Attributes
[R] | public_tags | |
[R] | secret |
Class Public methods
derive_from(password)
📝 Source code
# 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
🔎 See on GitHub
new(secret)
📝 Source code
# File activerecord/lib/active_record/encryption/key.rb, line 13
def initialize(secret)
@secret = secret
@public_tags = Properties.new
end
🔎 See on GitHub
Instance Public methods
id()
📝 Source code
# File activerecord/lib/active_record/encryption/key.rb, line 23
def id
Digest::SHA1.hexdigest(secret).first(4)
end
🔎 See on GitHub