Ich habe in PHP eine 16 Zeichen Zeichenfolge durch die RSA-Algorithmus und PKCS # 1-Muster mit einem öffentlichen Schlüssel in einem Zertifikat (genannt SanitalCF.cer) zu verschlüsseln. Schließlich müssen in Base64 kodieren.RSA PKCS # 1 verschlüsseln mit PHP
Ich habe diesen Code versucht, was ist los?
function EncryptData($source)
{
$fp=fopen("cert/SanitelCF.cer","r");
$pub_key=fread($fp,8192);
fclose($fp);
openssl_public_encrypt($source,$crypttext, $pub_key);
return(base64_encode($crypttext));
}
Ich weiß nicht, was passiert, wenn Sie es laufen? –
Bitte geben Sie auch Ihr Zertifikat an, PEM-codiert (Sie können die openssl-Befehlszeile verwenden, um es bei Bedarf zu konvertieren). –
Warum möchten Sie das unsichere PKCS # 1-Padding-Format verwenden? Siehe auch: [ROBOT] (https://robotattack.org/). Sie möchten stattdessen libsodium oder OAEP. –