private $publicKey = ""; private $privateKey = "";
//rsa公钥加密 public function rsaPrivateDecrypt(string $data){ $private_key = "-----BEGIN PRIVATE KEY-----\n" . wordwrap($this->privateKey, 64, "\n", true) . "\n-----END PRIVATE KEY-----"; $key = openssl_pkey_get_private($private_key); $return_de = openssl_private_decrypt(base64_decode($data), $decrypted, $key); if (!$return_de) { return false; } return $decrypted; }
//rsa私钥解密 public function rsaPublicEncrypt(array $params){ $json = json_encode($params,JSON_UNESCAPED_UNICODE); $public_key = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($this->publicKey, 64, "\n", true) . "\n-----END PUBLIC KEY-----"; $key = openssl_pkey_get_public($public_key); $bool = openssl_public_encrypt($json,$encryptedData,$key); if (!$bool){ return false; } return base64_encode($encryptedData); }