PHP实现RSA2加密

Posted MargoHu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-----
" . wordwrap($pikey, 64, "
", true) . "
-----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     }

 

以上是关于PHP实现RSA2加密的主要内容,如果未能解决你的问题,请参考以下文章

PHP实现RSA2加密

PHP RSA 生成公钥私钥 PSA2 加密解密

php 5.3.13怎么使用支付宝RSA2

sha1加密处理中文时在js和php中不一样怎么办!如何处理!!!

python实现RSA2签名

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。