PHP实现RSA2加密

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值