Я хочу зашифровать данные в реальном коде, используя mergAESEncryptWithKey pData, pKey, pIV, [pMode], [pKeySize], [pPadding]. Зашифрованные данные затем отправляются на php. PhP дешифрует данные, используя ту же функцию, что-то делает с данными, а затем шифрует результаты и отправляет их в livecode. Затем Livecode расшифровывает данные из php
My PHP Код выглядит следующим образом (Это прекрасно работает)
function encrypt($plaintext, $salt) {
$method = "AES-256-CBC";
$key = hash('sha256', $salt, true);
$iv = openssl_random_pseudo_bytes(32);
$ciphertext = openssl_encrypt($plaintext, $method, $key, $iv);
$hash = hash_hmac('sha256', $ciphertext . $iv, $key, true);
return $iv . $hash . $ciphertext;
}
function decrypt($ivHashCiphertext, $salt) {
$method = "AES-256-CBC";
$iv = substr($ivHashCiphertext, 0, 32);
$hash = substr($ivHashCiphertext, 32, 48);
$ciphertext = substr($ivHashCiphertext, 64);
$key = hash('sha256', $salt, true);
//if (!hash_equals(hash_hmac('sha256', $ciphertext . $iv, $key, true), $hash)) return null;
return openssl_decrypt($ciphertext, $method, $key, $iv);
}
echo $encrypted."</br>";
echo "----------------------------The message is:<br/>";
echo decrypt($encrypted, 'hashsalt');