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



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

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_key) ⇒ Object



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

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

  Base64.strict_encode64(encrypted_string)
end