Что ему не нравится в векторе?
// Ключ
$AES_Key = "93908027539382757893442837120983";
// Вектор
$AES_IV = "33985771209830270358974938292834";
// Методы
function encrypt($string)
{
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $AES_Key, addpadding($string), MCRYPT_MODE_CBC, $AES_IV));
}
function addpadding($string, $blocksize = 32)
{
$len = strlen($string);
$pad = $blocksize - ($len % $blocksize);
$string .= str_repeat(chr($pad), $pad);
return $string;
}
Аналогичный код на шарпе работает отлично:
// Ключ
private const string AES_Key = "93908027539382757893442837120983";
// Вектор
private const string AES_IV = "33985771209830270358974938292834";
// Зашифровывает строку в AES CBC 256 PKCS7
internal static string AES_Encrypt(string inputStr)
{
byte[] xBuff = null;
using (var aes = new RijndaelManaged())
{
// Настройки
aes.KeySize = 256;
aes.BlockSize = 256;
aes.Padding = PaddingMode.PKCS7;
aes.Mode = CipherMode.CBC;
aes.Key = Encoding.UTF8.GetBytes(AES_Key);
aes.IV = Encoding.UTF8.GetBytes(AES_IV);
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, aes.CreateEncryptor(aes.Key, aes.IV), CryptoStreamMode.Write))
{
byte[] textArr = Encoding.UTF8.GetBytes(inputStr);
cs.Write(textArr, 0, textArr.Length);
}
xBuff = ms.ToArray();
}
}
return Convert.ToBase64String(xBuff);
}