本文实例讲述了PHP实现超简单的SSL加密解密、验证及签名的方法。分享给大家供大家参考,具体如下:

1. sign签名代码:
function sign($data) {
//读取私钥文件
$priKey = file_get_contents('key/rsa_private_key.pem');
//转换为openssl密钥,必须是没有经过pkcs8转换的私钥
$res = openssl_get_privatekey($priKey);
//调用openssl内置签名方法,生成签名$sign
openssl_sign($data, $sign, $res);
//释放资源
openssl_free_key($res);
return $sign;
}
2. verify 验证代码:
function verify($data, $sign) {
//读取支付宝公钥文件
$pubKey = file_get_contents('key/alipay_public_key.pem');
//转换为openssl格式密钥
$res = openssl_get_publickey($pubKey);
//调用openssl内置方法验签,返回bool值
$result = (bool)openssl_verify($data, $sign, $res);
//释放资源
openssl_free_key($res);
return $result;
}
3. 解密代码
function decrypt($content) {
//读取商户私钥
$priKey = file_get_contents('key/rsa_private_key.pem');
//转换为openssl密钥,必须是没有经过pkcs8转换的私钥
$res = openssl_get_privatekey($priKey);
//声明明文字符串变量
$result = '';
//循环按照128位解密
for($i = 0; $i < strlen($content)/128; $i++ ) {
$data = substr($content, $i * 128, 128);
//拆分开长度为128的字符串片段通过私钥进行解密,返回$decrypt解析后的明文
openssl_private_decrypt($data, $decrypt, $res);
//明文片段拼接
$result .= $decrypt;
}
//释放资源
openssl_free_key($res);
//返回明文
return $result;
}
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含AES、DES、RC4等):
http://tools./password/txt_encode
MD5在线加密工具:
http://tools./password/CreateMD5Password
在线散列/哈希算法加密工具:
http://tools./password/hash_encrypt
在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools./password/hash_md5_sha
在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools./password/sha_encode
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# SSL
# 加密
# 解密
# 验证
# 签名
# php结合md5的加密解密算法实例
# PHP实现RSA签名生成订单功能【支付宝示例】
# php rsa 加密
# 验签详解
# php基于openssl的rsa加密解密示例
# PHP rsa加密解密使用方法
# php实现RSA加密类实例
# php rsa加密解密使用详解
# php 生成签名及验证签名详解
# PHP下SSL加密解密、验证、签名方法(很简单)
# php接口数据加密、解密、验证签名
# PHP实现的MD5结合RSA签名算法实例
# 加密工具
# 转换为
# 感兴趣
# 加密解密
# 程序设计
# 操作技巧
# 相关内容
# 还可以
# 数据结构
# 给大家
# 更多关于
# 商户
# 所述
# 支付宝
# 长度为
# 公钥
# 讲述了
# 正则表达式
# openssl_free_key
# return
相关文章:
如何快速使用云服务器搭建个人网站?
如何在万网开始建站?分步指南解析
如何快速辨别茅台真假?关键步骤解析
详解jQuery停止动画——stop()方法的使用
如何通过FTP空间快速搭建安全高效网站?
建站之星如何实现PC+手机+微信网站五合一建站?
建站主机是否等同于虚拟主机?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
建站主机功能解析:服务器选择与快速搭建指南
如何用y主机助手快速搭建网站?
如何在新浪SAE免费搭建个人博客?
如何在服务器上配置二级域名建站?
如何正确下载安装西数主机建站助手?
想学网站制作怎么学,建立一个网站要花费多少?
定制建站流程步骤详解:一站式方案设计与开发指南
深圳网站制作培训,深圳哪些招聘网站比较好?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
建站之星代理如何获取技术支持?
大连网站设计制作招聘信息,大连投诉网站有哪些?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
C++中引用和指针有什么区别?(代码说明)
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何在万网自助建站平台快速创建网站?
Android自定义listview布局实现上拉加载下拉刷新功能
如何在阿里云虚拟服务器快速搭建网站?
如何确保FTP站点访问权限与数据传输安全?
制作销售网站教学视频,销售网站有哪些?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何基于PHP生成高效IDC网络公司建站源码?
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何用花生壳三步快速搭建专属网站?
如何高效生成建站之星成品网站源码?
如何在腾讯云免费申请建站?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
如何在建站之星网店版论坛获取技术支持?
,有什么在线背英语单词效率比较高的网站?
如何做网站制作流程,*游戏网站怎么搭建?
如何在IIS中配置站点IP、端口及主机头?
为什么Go需要go mod文件_Go go mod文件作用说明
岳西云建站教程与模板下载_一站式快速建站系统操作指南
如何通过二级域名建站提升品牌影响力?
如何选择PHP开源工具快速搭建网站?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
香港服务器WordPress建站指南:SEO优化与高效部署策略
宿州网站制作公司兴策,安徽省低保查询网站?
建站主机系统SEO优化与智能配置核心关键词操作指南
安云自助建站系统如何快速提升SEO排名?
*请认真填写需求信息,我们会在24小时内与您取得联系。