Sha256: 1a643df43645ab1869d3f6fded96e8443eff8461b2d95534c81d717a8d4cda01

Contents?: true

Size: 592 Bytes

Versions: 1

Compression:

Stored size: 592 Bytes

Contents

require 'openssl'
require_relative '../rapid-vaults'

# generates files necessary for encryption and decryption
class Generate
  # generates a key and nonce
  def self.main(settings)
    cipher = OpenSSL::Cipher.new('aes-256-gcm').encrypt
    if settings[:ui] == :cli
      # output to file
      File.write('key.txt', cipher.random_key)
      File.write('nonce.txt', cipher.random_iv)
      puts 'Your key.txt and nonce.txt have been generated in your current directory.'
    elsif settings[:ui] == :api
      # output to string
      [cipher.random_key, cipher.random_iv]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rapid-vaults-1.0.0 lib/rapid-vaults/generate.rb