class OnnistuuFi::Signer
Attributes
key[RW]
Public Class Methods
new(_key, keycode)
click to toggle source
# File lib/onnistuu_fi/signer.rb, line 8 def initialize(_key, keycode) self.key = Base64.decode64(keycode) end
Public Instance Methods
decrypt(encrypted_data, iv)
click to toggle source
# File lib/onnistuu_fi/signer.rb, line 24 def decrypt(encrypted_data, iv) return nil if encrypted_data.nil? encrypted_data = Base64.decode64(encrypted_data) iv = Base64.decode64(iv) aes = OpenSSL::Cipher.new('AES-256-CBC') aes.decrypt aes.key = key aes.iv = iv message = (aes.update(encrypted_data) + aes.final) JSON.load(message) end
encrypt(message)
click to toggle source
# File lib/onnistuu_fi/signer.rb, line 12 def encrypt(message) return nil if message.nil? iv = OpenSSL::Cipher::Cipher.new("AES-128-CBC").random_iv aes = OpenSSL::Cipher.new('AES-256-CBC') aes.encrypt aes.key = key aes.iv = iv encrypted_data = aes.update(JSON.dump(message)) + aes.final [Base64.encode64(iv), Base64.encode64(encrypted_data)] end