Sha256: 9c299ef0ccd524537a04c7a752765ea19381940b18795fe7d12b9dca3504a9cf

Contents?: true

Size: 649 Bytes

Versions: 1

Compression:

Stored size: 649 Bytes

Contents

# frozen_string_literal: true

module Enkrip
  LENGTH = ENV['ENKRIP_LENGTH'].to_i # ActiveSupport::MessageEncryptor.key_len
  SALT   = ENV['ENKRIP_SALT'] # SecureRandom.random_bytes(LENGTH)
  SECRET = ENV['ENKRIP_SECRET']
  KEY    = ActiveSupport::KeyGenerator.new(SECRET).generate_key(SALT, LENGTH).freeze

  class Engine
    class << self
      @@verifier = ActiveSupport::MessageEncryptor.new(Enkrip::KEY)

      def encrypt(value, purpose: nil)
        @@verifier.encrypt_and_sign value, purpose: purpose
      end

      def decrypt(value, purpose: nil)
        @@verifier.decrypt_and_verify value, purpose: purpose
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
enkrip-0.1.0 lib/enkrip/engine.rb