首页 > 解决方案 > openssl_public_decrypt 什么都不返回

问题描述

我试图用 openssl_public_decrypt 解密但失败了。Openssl_public_decrypt 没有返回任何内容。我不知道问题出在哪里。下面是我的代码。我试过不使用base64_encode,也不行。我需要从数据库中读取rsa键值。

<?php
$data = 'data to be encrypt';
echo $data;

$privateKey = '-----BEGIN PRIVATE KEY-----
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
INRxom+wANYnRDgMh9QWURpJGVbpEA==
-----END PRIVATE KEY-----';
openssl_private_encrypt($data, $encrypted, $privateKey);
echo '-------------';
echo $encrypted;
echo '-------------';
$encrypted = base64_encode($encrypted);
echo $encrypted;
echo '-------------';
$publicKey = '-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsZka5Mul/211/0h84Ig8
i8lJVy21tvFN8uTRKgldY3TMfcdiQjLXNXXWVBdcobXa9wzNx3YXvyqr3Tnmr0iN
loVovJ9JER5EUQPEPthMNn9de9fEgNsfABT0Eq2291t8sFMx1/mAHd6z8KE+mzYC
yVeZqLEmwsiKCMjx1Pj2NfGR9+bNfC5P0SG2ARdpFZFJL6XK7L6t+nW9HXcDwPP1
ocA38iSjovjyel/LP00zETL3z0wlIPzxMCodxUU/bPdlDGQbc1MzaYHvOP+RXVFZ
j5fEp9OFpbm6BJXi/RT3/PYWS7+RCUHsb+LSa1JLylsEzyNaKqYX+wY0/2hEcWB3
WcYP6QRF/EKSLQbB7EvMucUM79deTkmFrly4ePkrk5tPoiQzRXFkoSGM4nKxAh0T
6Sjg8/WchBpVJQRvU+9vb9yk2Tey045/Wo3G1Fvehs/OXcd5P7OPLLpmLMNve7oZ
DVaw8lHBIxjMtAz+pZKvxDDtJR9jZuaiBqyGjj7rHnvagrxhZmdQiIDuuCOdaqTk
ARGrtgsLmIPbsO6HukkyG6W+8RjtVb+M2yC7HjFcwWcwBLe5mj0gikFe6wk0GtTJ
i1KdWoxjgibvWR9PRLKKlqT+CC0xgitln8PbH0xWNj7NlmMPdBuaN7Dpu8MU9ejS
6N3vOIsj40M0pgv6fdufnK8CAwEAAQ==
-----END PUBLIC KEY-----';
$decryptData = base64_decode($encrypted);
echo $decryptData;
echo '-------------';
openssl_public_decrypt($decryptData, $decrypted, $publicKey);
echo $decrypted;

我想知道出了什么问题。我需要你的帮助。

标签: encryptionphp-7

解决方案


推荐阅读