Path: blob/master/lib/rex/crypto/aes256.rb
19721 views
# -*- coding: binary -*-12module Rex3module Crypto4module Aes2565# Returns an encrypted string using AES256-CBC.6#7# @param iv [String] Initialization vector.8# @param key [String] Secret key.9# @return [String] The encrypted string.10def self.encrypt_aes256(iv, key, value)11aes = OpenSSL::Cipher.new('aes-256-cbc')12aes.encrypt13aes.iv = iv14aes.key = key15aes.update(value) + aes.final16end1718# Returns a decrypted string using AES256-CBC.19#20# @param iv [String] Initialization vector.21# @param key [String] Secret key.22# @return [String] The decrypted string.23def self.decrypt_aes256(iv, key, value)24aes = OpenSSL::Cipher.new('aes-256-cbc')25aes.decrypt26aes.iv = iv27aes.key = key28aes.update(value) + aes.final29end3031end32end33end343536