Sha256: b54f195e1d453dbfbc7d493a58eed263a2c096156641c4b0be45d235ffbbc772

Contents?: true

Size: 429 Bytes

Versions: 2

Compression:

Stored size: 429 Bytes

Contents

# frozen_string_literal: true

class Cryptoform::EncryptionBackends::Lockbox < Cryptoform::EncryptionBackends::Backend
  def encrypt(object)
    lockbox.encrypt(object.to_json)
  end

  def decrypt(ciphertext)
    JSON.parse(lockbox.decrypt(ciphertext), symbolize_names: true)
  end

  def generate_key
    ::Lockbox.generate_key
  end

  private

  def lockbox
    ::Lockbox.new(key: @params[:key].call, encode: true)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cryptoform-0.5.1 lib/cryptoform/encryption_backends/lockbox.rb
cryptoform-0.5.0 lib/cryptoform/encryption_backends/lockbox.rb