PHP实现RSA2加密
2024-10-07 17:23:13
PHP实现RSA2加密
1.
需要开启php的 php_openssl扩展
<?php /*
* RSA2签名
* @param array 请求的参数
* @param string 私钥
* return string
* time 2019-09-11
* author chen
* email 869476711@qq.com
*
* */
protected function RSA2($data,$pikey){ //将请求的参数进行排序
ksort($data);//ksort()函数 根据参数的键进行升序排序
reset($data);
$signStr = '';
foreach ($data as $key => $value) {
if ($key == 'sign' || $value == '') continue;
$signStr .= $key .'=' .$value .'&';
}
$signStr = substr($signStr, 0, -1); $res = "-----BEGIN RSA PRIVATE KEY-----\n" . wordwrap($pikey, 64, "\n", true) . "\n-----END RSA PRIVATE KEY-----";
// 请注意密钥 是不是有带 -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- $piKey = openssl_pkey_get_private($res); if ($piKey) {
$res = openssl_get_privatekey($res);
openssl_sign($signStr, $sign, $res, 'SHA256');
$sign = base64_encode($sign);
openssl_free_key($piKey);
return $sign;
}
}
最新文章
- 30分钟让网站支持HTTPS
- 记录一些PHP7RCC1编译问题
- JPush集成
- poj 2762 Going from u to v or from v to u?(强连通分量+缩点重构图+拓扑排序)
- iOS开发——图片轮播图+单选选项
- HDOJ 1422 重温世界杯 -- 动态规划
- poi 操作excel
- GIT学习(一)-->;Git产生的历史原因
- PHP程序员的技术成长之路规划
- C++模板显式实例化,隐式实例化,特化(具体化,偏特化)辨析
- sql_demo
- 【BZOJ5316】[JSOI2018]绝地反击(网络流,计算几何,二分)
- LeetCode #002# Add Two Numbers(js描述)
- 有关素数判断的一些算法(总结&;&;对比)
- 由-webkit-transform-style:preserve-3d;所想
- 算法笔记_226:填符号凑算式(Java)
- 【12月06日】A股全市场情绪指标整理分析
- 122. Best Time to Buy and Sell Stock II (Array;Greedy)
- java笔记--线程的插队行为
- 本地存储—localStorage(HTML5)
热门文章
- 【Unity3D NGUI】----UI尺寸和位置的调整
- 嵌入式C语言3.3 关键字---逻辑结构
- JQuery获取与设置select
- [ERR] 1114 - The table &#39;xxx&#39; is full
- Java业务代理模式~
- Pycharm2019版官方版本激活码,无需破解
- [心得]編寫Linux kernel modules時惱人的Makefile
- 一次spring boot web服务响应缓慢的排查
- SnowFlake --- 分布式id生成算法
- IIS Express 不允许的父路径