Я пытаюсь использовать RNCryptor для шифрования AES256 на стороне iOS и дешифрования AES256 на удаленном сайте в PHP. Но я не могу получить правильные расшифрованные данные с помощью php. Пожалуйста, помогите просмотреть, если я что-то делаю неправильно.
Ниже мой код для iOS.
NSString *key = @"1234567890123456789012";
NSData *encryptedData = [RNEncryptor encryptData:data
withSettings:kRNCryptorAES256Settings
password:key
error:&error];
Затем я отправляю зашифрованные данные на сервер, который находится в PHP. Ниже мой PHP-код.
$key ="1234567890123456789012" //32-bit key
$username = aes256Decrypt ($key, $username);
function aes256Decrypt($key, $data) {
if(32 !== strlen($key)) $key = hash('SHA256', $key, true);
$data = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC,
str_repeat("\0", 16));
$padding = ord($data[strlen($data) - 1]);
$result = substr($data, 0, -$padding);
return substr($data, 0, -$padding);
}