查看: 19|回复: 0

PHP实现RSA2加密

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-12-3
发表于 2019-9-16 17:39:00 | 显示全部楼层 |阅读模式

PHP实现RSA2加密

 

1.

 需要开启php的 php_openssl扩展

 1 <?php
 2 
 3   /*
 4      * RSA2签名
 5      * @param array 请求的参数
 6      * @param string 私钥
 7      * return  string
 8      * time 2019-09-11
 9      * author chen
10      * email 869476711@qq.com
11      *
12      * */
13     protected function RSA2($data,$pikey){
14         
15 
16         //将请求的参数进行排序
17         ksort($data);//ksort()函数 根据参数的键进行升序排序
18         reset($data);
19         $signStr = '';
20         foreach ($data as $key => $value) {
21             if ($key == 'sign' || $value == '') continue;
22             $signStr .= $key .'=' .$value .'&';
23         }
24         $signStr = substr($signStr, 0, -1);
25 
26 
27         $res = "-----BEGIN RSA PRIVATE KEY-----\n" . wordwrap($pikey, 64, "\n", true) . "\n-----END RSA PRIVATE KEY-----";
28         // 请注意密钥 是不是有带   -----BEGIN RSA PRIVATE KEY-----   -----END RSA PRIVATE KEY-----
29 
30         $piKey = openssl_pkey_get_private($res);
31 
32         if ($piKey) {
33             $res = openssl_get_privatekey($res);
34             openssl_sign($signStr, $sign, $res, 'SHA256');
35             $sign = base64_encode($sign);
36             openssl_free_key($piKey);
37             return $sign;
38         }
39     }

 



来源:https://www.cnblogs.com/ccw869476711/p/11528550.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部