I want to move from mcrypt_encrypt() to openssl_encrypt() for AES 256 encryption
But the encrypted data are different !
For example mcrypt_encrypt() output:
Od2i8FHmWvMeXt+HwCy7k93koPVClK1erHsZwoB6sUE=
and openssl_encrypt() output:
Od2i8FHmWvMeXt+HwCy7kyCt0nvHTaO4IdjdiF15LAc=
My code:
<?php
$encryption_key = openssl_random_pseudo_bytes(32);
$iv = openssl_random_pseudo_bytes(16);
$data = "Here's some data to encrypt!";
$encrypted = openssl_encrypt($data, "aes-256-cbc", $encryption_key, 0, $iv);
echo "encrypted: $encrypted\n\n";
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $encryption_key, $data, MCRYPT_MODE_CBC, $iv));
echo "encrypted: $encrypted\n\n";
?>
What is the problem? Thank you