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以外其他参数相同哦。
PHP API接口数据简单快速的加密解密的更多相关文章
- PHP--通用化API接口数据输出 封装
/** * 通用化API接口数据输出 * author qinpeizhou * @param $message * @param array $data * @param int $httpCode ...
- IdentityServer4实现.Net Core API接口权限认证(快速入门)
什么是IdentityServer4 官方解释:IdentityServer4是基于ASP.NET Core实现的认证和授权框架,是对OpenID Connect和OAuth 2.0协议的实现. 通俗 ...
- 微信小程序入门教程(一)API接口数据记录
今天测试用小程序调用API接口,发现有些数据打印都是对象,怎么全部打印详细点来 小程序代码: httpsearch: function (name, offset, type, cb) { wx.re ...
- React 获取服务器API接口数据:axios、fetchJsonp
使用axios.fetchJsonp获取服务器的接口数据.其中fetchJsonp是跨域访问 一.使用axios 1.安装axios模块 npm install --save axios 2.引用模块 ...
- 使用js+Ajax请求API接口数据-带请求头方式
C# http请求带请求头部分 先上代码: <script type="text/javascript"> function zLoginCheck() { var A ...
- C#,ASP.NET简单的MD5加密,解密
简单的MD5加密 首先要有一个加解密的规则 就是key 代码如下 // 创建Key public string GenerateKey() { DESCryptoServiceProvider de ...
- nodejs+express+mongodb写api接口的简单尝试
1:启动mongodb服务 我的mongoDB的安装目录:E:\mongoDB\bin,版本:3.4.9 打开cmd -> e:(进入e盘) -> cd mongoDB/bin(进入mo ...
- API接口数据自检
这个周末的娱乐,通用模块,让后端自检,严格客户端按照文档的要求来,妈妈再也不担心我加班了,对某些团队来说,可能根本用不着,本是想到就尝试一把而已. 哎,傻X的客户端程序员,时间都去推辞扯淡打扮啦,好好 ...
- C# 后台获取API接口数据
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- Json API接口数据生成
偶然发现,对前端数据模拟挺好用,没有跨域问题 https://myjson.com/
随机推荐
- 激活windows教程
新建bat文件 [批处理文件:后缀是 bat ] 输入代码: slmgr/skms kms.03k.org slmgr/ato 然后以管理员运行 :
- 将Vscode添加右键打开文件夹功能
1. wan + r 输入 regedit 打开注册表 注册表编辑 2. 找到 HKEY_CLASSES_ROOT\*\shell分支 3. 在shell下新建"VisualCode&quo ...
- 00 你想要学习的 AI+Python,捷径在这里
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- 用sdkman管理多个jdk切换
前言 最近项目前后端进行升级,需要在jdk8和jdk17两个版本切换.最简单的是通过手动切换,但切换过程太繁琐,修改环境变量,达到切换目的.于是尝试其它解决方案,最终确实使用sdkman工具. sdk ...
- WEB渗透01_渗透测试方法论
前言 这个系列是根据一个网络安全教程学习的笔记. 1 渗透测试 渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制.不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏 ...
- 2-1 C++内置类型
目录 2.1.1 算术类型(Arithmetic Types) 概览 分类 整型与浮点型 有符号和无符号 存储 单位转换 常见类型的大小 几点说明 选择 2.1.2 类型转换(Type Convers ...
- 基于 Github 平台的 .NET 开源项目模板 - 发布与归档 相关
CHANGELOG.md 案例 ## [1.0.1.2] - 2023-03-10 ### myproject2 _ 1.0.1: - 初步版本 简单实现 还未优化 - fix warning ## ...
- 深入源码之JDK Logging
JDK从1.4开始提供Logging实现,据说当初JDK打算采用Log4J的,后来因为某些原因谈判没谈拢,然后就自己开发了一套,不知道是为了报复而故意不沿用Log4J的命名方式和抽象方式,还是开发这个 ...
- 深度探讨Java字节代码的操纵方法
本文为IBM工程师成富编写的<Java深度历险>的第一部分Java字节代码的操纵,像这样Java语言的深度理解和运用还没有很多文章,我们把他奉献给读者,希望读者们喜欢. AD:2013云计 ...
- Nginx之yum安装
使用yum进行nginx的安装 参考官网:http://nginx.org/ 1)选择对应系统,例如自己使用的是centos系统 2)配置并安装 sudo yum install yum-utils ...