PHP API接口数据简单快速的加密解密
php7.0版本以上不支持mcrypt_encryp函数进行加密的代码,加密方式改为openssl_encrypt
openssl_系列支持php5.3以上版本
1、加密方式:openssl_encrypt
// 待加密数据$data
// 加密方式$method ='des-ecb';
// 密钥$key = 'dfsf3s@!Q$fse8';
// 加密后的数据$data2
$data2 = openssl_encrypt($data, 'des-ecb', 'dfsf3s@!Q$fse8');
2、加密方式:openssl_decrypt
// 待解密数据$data2
// 加密方式$method ='des-ecb';
// 密钥$key = 'dfsf3s@!Q$fse8';
// 解密后的数据$data
$data = openssl_decrypt($data2, 'des-ecb', 'dfsf3s@!Q$fse8');
3.扩展
PHP 的 OpenSSL 扩展中,对称加密的相关函数有:
- openssl_encrypt()
- openssl_decrypt()
- openssl_random_pseudo_bytes()
- openssl_cipher_iv_length()
函数openssl_encrypt和openssl_decrypt参数相同都是($data, $method, $key, $options, $iv)
- $data 字符串
- $method 加密算法,如:des-ecb,AES-128-CBC,AES-128-CBC-HMAC-SHA1,AES-128-ECB,seed-ofb大概100多种
- $key 密钥
- $options 可选, 填充方式,默认0
- $iv 可选,初始化向量,用 openssl_random_pseudo_bytes() 生成随机$iv。
- $iv长度随加密算法不同而不同,需要函数openssl_cipher_iv_length($method)获取长度。如: openssl_cipher_iv_length('BC-CBC'); //长度 8,
- 有些加密方式不用传$iv这个参数,如:des-ecb,AES-128-ECB
最后,加密和解密时候要确保除了$data以外其他参数相同哦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)