php openssl_public_encrypt(): 键参数不是有效的 public 键
php openssl_public_encrypt(): key parameter is not a valid public key
function encrypt($string) {
$key = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIiJg//yXqt7ln+orfSuRjH0FjTKQyj6ti2tX8PR8yhvoeocfHg0RtBNBJFaghoezGgbsmsUcac8GSgoiL9kzzMCAwEAAQ==";
$keyFinal = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split($key) . "\r\n-----END PUBLIC KEY-----";
openssl_public_encrypt($string, $encrypted_data, $keyFinal);
echo base64_encode($encrypted_data);
}
(我尝试的每个其他键也都出现相同的错误)
我正在尝试使用 rsa 加密字符串,但出现错误(openssl_public_encrypt():密钥参数不是有效的 public 密钥)
我已经尝试了好几个小时了,请帮忙
函数 chunk_split
包含一个尾随分隔符,在您的例子中是 \r\n
。所以在你的情况下,只是不要连接一个额外的。
改变这个:
$keyFinal = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split($key) . "\r\n-----END PUBLIC KEY-----";
为此:
$keyFinal = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split($key) . "-----END PUBLIC KEY-----";
function encrypt($string) {
$key = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIiJg//yXqt7ln+orfSuRjH0FjTKQyj6ti2tX8PR8yhvoeocfHg0RtBNBJFaghoezGgbsmsUcac8GSgoiL9kzzMCAwEAAQ==";
$keyFinal = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split($key) . "\r\n-----END PUBLIC KEY-----";
openssl_public_encrypt($string, $encrypted_data, $keyFinal);
echo base64_encode($encrypted_data);
}
(我尝试的每个其他键也都出现相同的错误)
我正在尝试使用 rsa 加密字符串,但出现错误(openssl_public_encrypt():密钥参数不是有效的 public 密钥)
我已经尝试了好几个小时了,请帮忙
函数 chunk_split
包含一个尾随分隔符,在您的例子中是 \r\n
。所以在你的情况下,只是不要连接一个额外的。
改变这个:
$keyFinal = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split($key) . "\r\n-----END PUBLIC KEY-----";
为此:
$keyFinal = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split($key) . "-----END PUBLIC KEY-----";