module Flutterwave::Utils::EncryptionManager

Constants

KEY

Public Class Methods

decrypt(text, key = KEY) click to toggle source
# File lib/flutterwave/utils/encryption_manager.rb, line 20
def self.decrypt(text, key = KEY)
  key = digest(key)
  cipher = OpenSSL::Cipher::Cipher.new('des-ede3')
  cipher.decrypt
  cipher.key = key
  plain_text = cipher.update(Base64.decode64(text.to_s))

  plain_text << cipher.final
end
digest(key) click to toggle source
# File lib/flutterwave/utils/encryption_manager.rb, line 30
def self.digest(key)
  digest = Digest::MD5.digest(key)

  digest + digest[0, 8]
end
encrypt(text, key = KEY) click to toggle source
# File lib/flutterwave/utils/encryption_manager.rb, line 9
def self.encrypt(text, key = KEY)
  key = digest(key)
  cipher = OpenSSL::Cipher::Cipher.new('des-ede3')
  cipher.encrypt
  cipher.key = key
  cipher_text = cipher.update(text.to_s)
  cipher_text << cipher.final

  Base64.encode64(cipher_text).gsub(/\n/, '')
end