Powershell:
#----------------
Function myEncrypt {
param (
[String]$Data,
[String]$EncryptKey
);
PROCESS {
$Encode = [System.Text.Encoding]::UTF8;
$DataBytes = $Encode.GetBytes($Data);
$AES = New-Object System.Security.Cryptography.AESManaged;
$AES.BlockSize = 128;
$AES.KeySize = 256;
$AES.Mode = [System.Security.Cryptography.CipherMode]::CBC;
$iv = RandomPassword(($AES.BlockSize / 8));
$AES.IV = $Encode.GetBytes($iv);
$AES.Key = $Encode.GetBytes($EncryptKey);