class CryptoUtils::AesUtil
SYMMETRIC ENCRYPTION UTIL
Public Instance Methods
decrypt(encoded_cipher_text, encoded_key, encoded_iv)
click to toggle source
# File lib/ig-crypto-utils.rb, line 62 def decrypt(encoded_cipher_text, encoded_key, encoded_iv) decoded_cipher_text = Base64.decode64 encoded_cipher_text decoded_iv = Base64.decode64 encoded_iv cipher = OpenSSL::Cipher::AES.new(256, :CBC) cipher.decrypt cipher.key = encoded_key cipher.iv = decoded_iv cipher.update(decoded_cipher_text) + cipher.final end
encrypt(encoded_plain_text, encoded_key)
click to toggle source
gist.github.com/byu/99651 ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/Cipher.html
# File lib/ig-crypto-utils.rb, line 43 def encrypt(encoded_plain_text, encoded_key) cipher = OpenSSL::Cipher::AES.new(256, :CBC) # CBC = cipher block chaining cipher.encrypt # generate a random iv iv = cipher.random_iv cipher.key = encoded_key cipher.iv = iv result = cipher.update(encoded_plain_text) + cipher.final encoded_result = Base64.encode64 result encoded_iv = Base64.encode64 iv {:cipher_text => encoded_result, :iv => encoded_iv} end