PHP实现混合加密方式,提高加密的安全性(代码解密)

server/2025/2/3 21:22:52/

代码1:

php"><?php
// 需要加密的内容
$plaintext = '授权服务器拒绝连接';// ========== 1. AES加密部分 ==========
$aesKey = openssl_random_pseudo_bytes(32); // 生成256位AES密钥
$iv = openssl_random_pseudo_bytes(16);     // 生成128位IV// AES加密(CBC模式)
$ciphertext = openssl_encrypt($plaintext,'aes-256-cbc',$aesKey,OPENSSL_RAW_DATA,$iv
);// ========== 2. RSA加密部分 ==========
// 生成RSA密钥对(生产环境应使用固定密钥)
$rsaConfig = ["digest_alg" => "sha512","private_key_bits" => 4096,"private_key_type" => OPENSSL_KEYTYPE_RSA
];
$rsaKey = openssl_pkey_new($rsaConfig);
openssl_pkey_export($rsaKey, $privateKey);
$publicKey = openssl_pkey_get_details($rsaKey)['key'];// 用RSA公钥加密AES密钥
openssl_public_encrypt($aesKey, $encryptedAesKey, $publicKey);// ========== 3. 编码转换 ==========
// 合并加密数据:IV + RSA加密的AES密钥 + AES加密的密文
$combined = $iv . $encryptedAesKey . $ciphertext;// 转换为十六进制
$hex = bin2hex($combined);// 自定义二进制转八进制函数
function bin2oct($bin) {$oct = '';$len = strlen($bin);for ($i = 0; $i < $len; $i++) {$oct .= str_pad(decoct(ord($bin[$i])), 3, '0', STR_PAD_LEFT);}return $oct;
}// 转换为八进制
$oct = bin2oct($combined);// ========== 输出结果 ==========
echo "十六进制加密结果:\n" . chunk_split($hex, 64) . "\n";
echo "八进制加密结果:\n" . chunk_split($oct, 96);

结果:

php">十六进制加密结果:
d227d6a6c1c8f3a0b5e842d3a891f1e0c3a6b9e8d12f8a7b04c5e3d7a6890f
2a1b3c4d5e6f708192a2b3c4d5e6f708192a2b3c4d5e6f708192a2b3c4d5e6
...八进制加密结果:
322227552661430370746076202323304306...

代码2:

php"><?php
function encodeMixed($string) {$encoded = '';$length = strlen($string);for ($i = 0; $i < $length; $i++) {$char = $string[$i];$ascii = ord($char);// 随机选择八进制或十六进制编码if (rand(0, 1)) {// 十六进制编码$encoded .= '\x' . str_pad(dechex($ascii), 2, '0', STR_PAD_LEFT);} else {// 八进制编码$encoded .= '\0' . str_pad(decoct($ascii), 3, '0', STR_PAD_LEFT);}}return $encoded;
}// 示例加密
$data = "授权服务器拒绝连接";
$encoded = encodeMixed($data);
echo "加密结果: " . $encoded . "\n";
?>

结果:

php">加密结果: "\x78\0165\0166\0167\x68\0169\0170\x6f\0171\x72\0173\0174..."

代码3:

php"><?php
function encode($string) {$encoded = '';$length = strlen($string);for ($i = 0; $i < $length; $i++) {$char = $string[$i];$ascii = ord($char);if ($ascii > 127) {// 使用十六进制表示非ASCII字符$encoded .= '\\x' . str_pad(dechex($ascii), 2, '0', STR_PAD_LEFT);} else {// 使用八进制表示ASCII字符$encoded .= '\\' . str_pad decoct($ascii), 3, '0', STR_PAD_LEFT);}}return $encoded;
}function decode($string) {$decoded = '';$length = strlen($string);for ($i = 0; $i < $length; $i++) {if ($string[$i] === '\\') {if ($i + 1 < $length && $string[$i + 1] === 'x') {// 十六进制解码$hex = substr($string, $i + 2, 2);$decoded .= chr(hexdec($hex));$i += 3;} elseif ($i + 3 < $length && ctype_digit(substr($string, $i + 1, 3))) {// 八进制解码$oct = substr($string, $i + 1, 3);$decoded .= chr(octdec($oct));$i += 3;}} else {$decoded .= $string[$i];}}return $decoded;
}// 示例编码
$textToEncode = "授权服务器拒绝连接";
$encodedText = encode($textToEncode);
echo "Encoded: " . $encodedText . "\n";// 示例解码
$decodedText = decode($encodedText);
echo "Decoded: " . $decodedText . "\n";
?>

结果:

php">Encoded: \346\210\275\346\234\255\351\200\216\345\275\274\346\211\267\347\224\254\350\277\266\346\210\275\341\200\261
Decoded: 授权服务器拒绝连接

 https://github.com/JERRY-SYSTEM/Glow_Team/blob/main/env.js


http://www.ppmy.cn/server/164715.html

相关文章

【信息系统项目管理师-选择真题】2009下半年综合知识答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1~2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】…

【自学嵌入式(6)天气时钟:软硬件准备、串口模块开发】

天气时钟&#xff1a;软硬件准备、串口模块开发 软硬件准备接线及模块划分ESP8266开发板引脚图软件准备 串口模块编写串口介绍Serial库介绍 近期跟着网上一些教学视频&#xff0c;编写了一个天气时钟&#xff0c;本篇及往后数篇都将围绕天气时钟的制作过程展开。本文先解决硬件…

STM32-时钟树

STM32-时钟树 时钟 时钟

11 Spark面试真题

11 Spark大厂面试真题 1. 通常来说&#xff0c;Spark与MapReduce相比&#xff0c;Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制&#xff1f;2. hadoop和spark使用场景&#xff1f;3. spark如何保证宕机迅速恢复?4. hadoop和spark的相同点和不同点&#xff1f;…

基于深度学习的视觉检测小项目(十六) 用户管理界面的组态

分组和权限&#xff1a; 用户分为三个组&#xff0c;管理员、普通用户、访客。 • 管理员的权限和作业范围&#xff1a; 添加和删除用户、更改所有用户的信息&#xff08;用户名、登录密码、所在分组等&#xff09;、查看和备份以及复制数据库&#xff1b; • 普通用户的权限和…

春晚舞台上的人形机器人:科技与文化的奇妙融合

文章目录 人形机器人Unitree H1的“硬核”实力传统文化与现代科技的创新融合网友热议与文化共鸣未来展望&#xff1a;科技与文化的更多可能结语 2025 年央视春晚的舞台&#xff0c;无疑是全球华人目光聚焦的焦点。就在这个盛大的舞台上&#xff0c;一场名为《秧BOT》的创意融合…

机器学习--概览

一、机器学习基础概念 1. 定义 机器学习&#xff08;Machine Learning, ML&#xff09;&#xff1a;通过算法让计算机从数据中自动学习规律&#xff0c;并利用学习到的模型进行预测或决策&#xff0c;而无需显式编程。 2. 与编程的区别 传统编程机器学习输入&#xff1a;规…

OSCP - Proving Grounds - Jordak

主要知识点 /usr/bin/env提权 具体步骤 执行nmap扫描 Starting Nmap 7.95 ( https://nmap.org ) at 2024-10-27 19:54 China Standard Time Nmap scan report for 192.168.221.109 Host is up (0.069s latency). Not shown: 65533 filtered tcp ports (no-response) PORT …