Sha256: 47634c602f1355431f1ff714c7f808ccc8d7451c7be97bdab20c298c5f66aa52

Contents?: true

Size: 665 Bytes

Versions: 1

Compression:

Stored size: 665 Bytes

Contents

# frozen_string_literal: true

module  Chamber
module  EncryptionMethods
class   PublicKey
  def self.encrypt(_key, value, encryption_keys)
    value = YAML.dump(value)
    encrypted_string = encryption_keys.public_encrypt(value)

    Base64.strict_encode64(encrypted_string)
  end

  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
end
end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chamber-2.11.0 lib/chamber/encryption_methods/public_key.rb