Class: Chamber::EncryptionMethods::PublicKey

Inherits:
Object
  • Object
show all
Defined in:
lib/chamber/encryption_methods/public_key.rb

Class Method Summary collapse

Class Method Details

.decrypt(_key, value, decryption_key) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/chamber/encryption_methods/public_key.rb', line 13

def self.decrypt(_key, value, decryption_key)
  if decryption_key.nil?
    value
  else
    decoded_string    = Base64.strict_decode64(value)
    unencrypted_value = decryption_key.private_decrypt(decoded_string)

    begin
      _unserialized_value = YAML.load(unencrypted_value)
    rescue TypeError
      unencrypted_value
    end
  end
end

.encrypt(_key, value, encryption_keys) ⇒ Object



6
7
8
9
10
11
# File 'lib/chamber/encryption_methods/public_key.rb', line 6

def self.encrypt(_key, value, encryption_keys)
  value = YAML.dump(value)
  encrypted_string = encryption_keys.public_encrypt(value)

  Base64.strict_encode64(encrypted_string)
end