php如何解密json字符串

xiao5788-xsi / 2024-03-17 / 原文

<?php
  
// 假设您有一个经过AES-256-CBC加密的JSON字符串
$encryptedJson = "YOUR_ENCRYPTED_JSON_STRING_HERE";
  
// 加密时使用的密钥和初始化向量
$key = "YOUR_ENCRYPTION_KEY_HERE";
$iv = "YOUR_INITIALIZATION_VECTOR_HERE";
  
// 解密函数
function decryptAes256Cbc($encryptedData, $key, $iv) {
    $decrypted = openssl_decrypt(
        base64_decode($encryptedData),
        'aes-256-cbc',
        $key,
        OPENSSL_RAW_DATA,
        $iv
    );
    return $decrypted;
}
  
// 解密JSON字符串
$decryptedJson = decryptAes256Cbc($encryptedJson, $key, $iv);
  
// 检查解密是否成功
if ($decryptedJson === false) {
    die("解密失败");
}
  
// 将解密后的JSON字符串解析为PHP对象或数组
$data = json_decode($decryptedJson);
  
// 检查JSON解析是否成功
if ($data === null) {
    die("解析JSON失败");
}
  
// 现在您可以使用解密和解析后的数据了
print_r($data);
  
?>