Sha256: a004f2d36a97d12a2a89462bfececcf3f89ce30e976004741bbe362bc8d1b7aa
Contents?: true
Size: 796 Bytes
Versions: 4
Compression:
Stored size: 796 Bytes
Contents
require 'multi_json' require 'keen/aes_helper' module Keen class ScopedKey include AESHelper extend AESHelper attr_accessor :api_key attr_accessor :data class << self def decrypt!(api_key, scoped_key) encrypted = unhexlify(scoped_key) padded_api_key = pad(api_key) decrypted = aes256_decrypt(padded_api_key, encrypted) data = MultiJson.load(decrypted) self.new(api_key, data) end end def initialize(api_key, data) self.api_key = api_key self.data = data end def encrypt!(iv = nil) json_str = MultiJson.dump(self.data) padded_api_key = pad(self.api_key) encrypted, iv = aes256_encrypt(padded_api_key, json_str, iv) hexlify(iv) + hexlify(encrypted) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
keen-0.9.4 | lib/keen/scoped_key.rb |
keen-0.9.3 | lib/keen/scoped_key.rb |
keen-0.9.2 | lib/keen/scoped_key.rb |
keen-0.9.1 | lib/keen/scoped_key.rb |