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);
}