|
发表于 2024-1-18 20:40:03
|
显示全部楼层
广东省东莞市
ai帮写的
<?php
function symmetricDecrypt($encryptedData, $key) {
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-ecb')); // 初始化向量
$decrypted = openssl_decrypt($encryptedData, 'aes-256-ecb', $key, OPENSSL_RAW_DATA, $iv); // 解密
return base64_encode($decrypted); // 返回解码后的数据
}
function symmetricEncrypt($data, $key) {
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-ecb')); // 初始化向量
$encrypted = openssl_encrypt($data, 'aes-256-ecb', $key, OPENSSL_RAW_DATA, $iv); // 加密
return base64_encode($encrypted); // 返回编码后的数据
}
function hexToBytes($hexString) {
$length = strlen($hexString);
$byteArray = array();
for ($i = 0; $i < $length; $i += 2) {
$byteArray[] = hexdec(substr($hexString, $i, 2));
}
return $byteArray;
}
// 示例数据和密钥,实际使用时请根据需求替换
$data = "你的数据";
$key = "你的密钥";
$urlData = urlencode($data); // URL编码
$urlDataBytes = urldecode(base64_decode($urlData)); // URL解码并Base64解码
$keyBytes = hexToBytes($key); // 将十六进制字符串转换为字节数组
// 解密操作
$decryptedBytes = symmetricDecrypt($urlDataBytes, $keyBytes);
$decryptedText = base64_encode($decryptedBytes); // 解密后进行Base64编码
echo "解密后的数据: " . $decryptedText;
?> |
|