Method: Krypton::AESCrypt.decrypt_data

Defined in:
lib/core/aes.rb

.decrypt_data(encrypted_data, key, iv, cipher_type) ⇒ Object

Decrypts a block of data (encrypted_data) given an encryption key and an initialization vector (iv). Keys, iv’s, and the data returned are all binary strings. Cipher_type should be “AES-256-CBC”, “AES-256-ECB”, or any of the cipher types supported by OpenSSL. Pass nil for the iv if the encryption type doesn’t use iv’s (like ECB). :return: => String :arg: encrypted_data => String :arg: key => String :arg: iv => String :arg: cipher_type => String



36
37
38
39
40
41
42
# File 'lib/core/aes.rb', line 36

def self.decrypt_data(encrypted_data, key, iv, cipher_type)
  aes = OpenSSL::Cipher.new(cipher_type)
  aes.decrypt
  aes.key = key
  aes.iv = iv if iv != nil
  aes.update(encrypted_data) + aes.final
end