|

55精币
这是PHP代码
[PHP] 纯文本查看 复制代码 <?php
$key = '123456789'; // 加密密钥,需与加密时使用的密钥相同
$method = 'AES-256-CBC';
$encryptedFileContent = file_get_contents('pc_api.cof');
list($base64Iv, $base64EncryptedData) = explode(':', $encryptedFileContent, 2);
$iv = base64_decode($base64Iv);
$encryptedData = base64_decode($base64EncryptedData);
$decryptedData = openssl_decrypt($encryptedData, $method, $key, 0, $iv);
$data = json_decode($decryptedData, true);
print_r($data);
?>
这是易语言代码
变量名 | 类 型 | 静态 | 数组 | 备 注 | 加密内容 | 文本型 | | | 分割结果 | 文本型 | | 0 | base64Iv | 文本型 | | | base64EncryptedData | 文本型 | | | iv数据 | 字节集 | | | 加密数据 | 字节集 | | | 密钥字节集 | 字节集 | | | 解密数据 | 字节集 | | | json | 类_json | | |
加密内容 = 到文本 (读入文件 (“data.txt”)) 分割结果 = 分割文本 (加密内容, “:”, ) 如果真 (取数组成员数 (分割结果 ) ≠ 2 ) 调试输出 (“文件格式错误”) 返回 ()base64Iv = 分割结果 [1]base64EncryptedData = 分割结果 [2 ]调试输出 (base64Iv, base64EncryptedData ) iv数据 = 编码_BASE64解码 (base64Iv, )加密数据 = 编码_BASE64解码 (base64EncryptedData, )调试输出 (iv数据, 加密数据 )密钥字节集 = 到字节集 (“123456789”) 判断 (取字节集长度 (密钥字节集 ) < 32 ) 密钥字节集 = 密钥字节集 + 取空白字节集 (32 - 取字节集长度 (密钥字节集 ))  密钥字节集 = 取字节集左边 (密钥字节集, 32 ) 解密数据 = 对称解密 (加密数据, 密钥字节集, #对称算法_AES_256_CBC, #数据填充_PKCS7_PADDING, iv数据 )调试输出 (解密数据, 到文本 (解密数据 )) 判断 (json. 解析 (到文本 (解密数据 ), , )) 调试输出 (“解密成功:”) 调试输出 (json. 取数据文本 ()) 调试输出 (“JSON解析失败”)
这是密文
[JavaScript] 纯文本查看 复制代码 /osGuUBFKSmxPxACkLGOXQ==:ZzAxQVFaVk9qMm56UXBhdi8yLzdrdTdNVnBjeHJuM1NYWmkxeHJCQWtMb21xOFdtRVhVUzVBNkNFSEV2eTNVNGFidmRKeHJlN1l5Mmc0N3h3ZXpPOC9HZDZYQU1jdnA2cHVlaEpEWmFDTkxYVDRnRVMxSnZmVk95ZzV6UVE2N2xuZWNDdFdVWjcyQ2l0UnNaNDlkbys1alhjMkF0S2ZKWTgwdzlIcTZJcmIwPQ==
一直解密失败 有大佬知道吗。
|
最佳答案
查看完整内容
在你代码的基础上修改这句
解密数据 = 对称解密 (编码_BASE64解码 (到文本(加密数据)), 密钥字节集, #对称算法_AES_256_CBC, #数据填充_PKCS7_PADDING, iv数据)
需要对加密数据进行两次base64解码
|