| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: yckj_lzj
 
-  * Date: 2019-10-22
 
-  * Time: 19:27
 
-  */
 
- namespace app\common\util;
 
- class Rsa extends SingleObjectClass
 
- {
 
-     protected $priKeyStr;
 
-     protected $pubKeyStr;
 
-     public  function setPriPubKey($pubKey,$priKey){
 
-         $this->priKeyStr=$priKey;
 
-         $this->pubKeyStr=$pubKey;
 
- //        $this->$pubKeyStr=$pubKey;
 
-     }
 
-     public function setPriKey($priKey){
 
-         $this->priKeyStr=$priKey;
 
-     }
 
-     public function setPubKey($pubKey){
 
-         $this->pubKeyStr=$pubKey;
 
-     }
 
-     private  function getPriKeyStr()
 
-     {
 
-         return "-----BEGIN PRIVATE KEY-----\n".$this->priKeyStr."\n-----END PRIVATE KEY-----";
 
-     }
 
-     public  function getPubKeyStr(){
 
-         return "-----BEGIN PUBLIC KEY-----\n".$this->pubKeyStr."\n-----END PUBLIC KEY-----";
 
-     }
 
-     /**
 
-      * 获取公钥     *
 
-      * @return bool|resource
 
-      */
 
-     private  function getPublicKey()
 
-     {
 
-         $content = $this->getPubKeyStr();
 
-         return openssl_pkey_get_public($content);
 
-     }
 
-     /**
 
-      * 获取私钥
 
-      * @return bool|resource
 
-      */
 
-     private  function getPrivateKey()
 
-     {
 
-         $content = $this->getPriKeyStr();
 
- //        echo $content;
 
-         return openssl_pkey_get_private($content);
 
-     }
 
-     /**
 
-      * 私钥加密
 
-      * @param $signString
 
-      * @return string
 
-      */
 
-     public  function priSign($signString){
 
-         $privKeyId = $this->getPrivateKey();
 
-         $signature = '';
 
-         openssl_sign($signString, $signature, $privKeyId);
 
-         openssl_free_key($privKeyId);
 
-         return base64_encode($signature);
 
-     }
 
-     /**
 
-      * 私钥加密
 
-      * @param string $data
 
-      * @return null|string
 
-      */
 
-     public  function privEncrypt($data = '')
 
-     {
 
-         if (!is_string($data)) {
 
-             return null;
 
-         }
 
-         return openssl_private_encrypt($data, $encrypted, $this->getPrivateKey()) ? base64_encode($encrypted) : null;
 
-     }
 
-     /**
 
-      * 公钥加密
 
-      * @param string $data
 
-      * @return null|string
 
-      */
 
-     public  function publicEncrypt($data = '')
 
-     {
 
-         if (!is_string($data)) {
 
-             return null;
 
-         }
 
-         var_dump($this->getPublicKey());
 
-         return openssl_public_encrypt($data, $encrypted, $this->getPublicKey()) ? base64_encode($encrypted) : null;
 
-     }
 
-     /**
 
-      * 私钥解密
 
-      * @param string $encrypted
 
-      * @return null
 
-      */
 
-     public  function privDecrypt($encrypted = '')
 
-     {
 
-         if (!is_string($encrypted)) {
 
-             return null;
 
-         }
 
-         return (openssl_private_decrypt(base64_decode($encrypted), $decrypted, $this->getPrivateKey())) ? $decrypted : null;
 
-     }
 
-     /**
 
-      * 公钥解密
 
-      * @param string $encrypted
 
-      * @return null
 
-      */
 
-     public  function publicDecrypt($encrypted = '')
 
-     {
 
-         if (!is_string($encrypted)) {
 
-             return null;
 
-         }
 
-         return (openssl_public_decrypt(base64_decode($encrypted), $decrypted, $this->getPublicKey())) ? $decrypted : null;
 
-     }
 
- }
 
 
  |