module Passcard

Constants

ALPHA_GRID
CHARSET
GRID_SIZE
NUMERIC_GRID
VERSION

Public Class Methods

create!(*args) click to toggle source
# File lib/passcard.rb, line 53
def self.create!(*args)
  Passcard::Generator.create_key_file(*args)
end
decrypt!(key, enc_str) click to toggle source
# File lib/passcard.rb, line 45
def self.decrypt!(key, enc_str)
  cipher     = OpenSSL::Cipher.new('DES-EDE3-CBC').decrypt
  cipher.key = Random.new(key.to_i(36)).bytes(24)
  decrypted  = cipher.update(Base64.decode64(enc_str))
  output     = decrypted << cipher.final
  JSON.parse(output)
end
encrypt!(key, object) click to toggle source
# File lib/passcard.rb, line 37
def self.encrypt!(key, object)
  object = object.to_json
  cipher = OpenSSL::Cipher.new('DES-EDE3-CBC').encrypt
  cipher.key = Random.new(key.to_i(36)).bytes(24)
  output = cipher.update(object) + cipher.final
  Base64.encode64(output)
end
outputter_class_for(name) click to toggle source
# File lib/passcard.rb, line 31
def self.outputter_class_for(name)
  klass = outputters[name.to_sym].first
  return klass if klass.is_a?(Class)
  Kernel.const_get(klass.to_s)
end
outputters() click to toggle source
# File lib/passcard.rb, line 18
def self.outputters
  @@outputters ||= {}
end
read!(*args) click to toggle source
# File lib/passcard.rb, line 57
def self.read!(*args)
  Passcard::Reader.read_key_file(*args)
end
register_outputter(name, klass, method_name) click to toggle source
# File lib/passcard.rb, line 22
def self.register_outputter(name, klass, method_name)
  @@outputters ||= {}
  @@outputters[name.to_sym] = [klass, method_name.to_sym]
end
root() click to toggle source
# File lib/passcard.rb, line 14
def self.root
  Pathname.new(File.dirname(File.dirname(__FILE__)))
end
unregister_outputter(name) click to toggle source
# File lib/passcard.rb, line 27
def self.unregister_outputter(name)
  @@outputters.delete(name.to_sym)
end