icps

notes

OpenSSL-AES256

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# encoding: utf-8
require "base64"

def aes_encrypt(data)
  cipher = OpenSSL::Cipher::AES256.new(:CBC)
  cipher.encrypt
  cipher.key = KEY#cipher.random_key
  cipher.iv = IV#cipher.random_iV
  encrypt = cipher.update(data) + cipher.final
  return Base64.encode64(encrypt).chomp
end

def aes_decrypt(encrypt)
  encrypt = Base64.decode64(encrypt)
  decipher = OpenSSL::Cipher::AES256.new(:CBC)
  decipher.decrypt
  decipher.key = KEY
  decipher.iv  = IV
  decrypt = decipher.update(encrypt) + decipher.final
  return decrypt
end