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;
}
}

最新文章

  1. 30分钟让网站支持HTTPS
  2. 记录一些PHP7RCC1编译问题
  3. JPush集成
  4. poj 2762 Going from u to v or from v to u?(强连通分量+缩点重构图+拓扑排序)
  5. iOS开发——图片轮播图+单选选项
  6. HDOJ 1422 重温世界杯 -- 动态规划
  7. poi 操作excel
  8. GIT学习(一)--&gt;Git产生的历史原因
  9. PHP程序员的技术成长之路规划
  10. C++模板显式实例化,隐式实例化,特化(具体化,偏特化)辨析
  11. sql_demo
  12. 【BZOJ5316】[JSOI2018]绝地反击(网络流,计算几何,二分)
  13. LeetCode #002# Add Two Numbers(js描述)
  14. 有关素数判断的一些算法(总结&amp;&amp;对比)
  15. 由-webkit-transform-style:preserve-3d;所想
  16. 算法笔记_226:填符号凑算式(Java)
  17. 【12月06日】A股全市场情绪指标整理分析
  18. 122. Best Time to Buy and Sell Stock II (Array;Greedy)
  19. java笔记--线程的插队行为
  20. 本地存储—localStorage(HTML5)

热门文章

  1. 【Unity3D NGUI】----UI尺寸和位置的调整
  2. 嵌入式C语言3.3 关键字---逻辑结构
  3. JQuery获取与设置select
  4. [ERR] 1114 - The table &#39;xxx&#39; is full
  5. Java业务代理模式~
  6. Pycharm2019版官方版本激活码,无需破解
  7. [心得]編寫Linux kernel modules時惱人的Makefile
  8. 一次spring boot web服务响应缓慢的排查
  9. SnowFlake --- 分布式id生成算法
  10. IIS Express 不允许的父路径