Dieser Artikel erklärt Ihnen hauptsächlich die Probleme, die bei der OpenSSL-Verschlüsselung in PHP auftreten. Verschlüsselung ist in der tatsächlichen PHP-Entwicklung sehr wichtig Wenn Sie sich für die Verschlüsselung in PHP interessieren, können Sie sich darauf beziehen und gemeinsam lernen.
Vor kurzem war es in den Projekten des Unternehmens notwendig, OpenSSL-Verschlüsselung und Java-Seite für die Schnittstellenüberprüfung zu verwenden. Nach mehreren Überprüfungen trat ein Verschlüsselungsfehler auf , der Grund wurde endlich gefunden:
Ersetzen Sie in der PHP7-Umgebung die Methode openssl_get_privatekey durch openssl_pkey_get_private
Das Schlüsselformat ist anders Windows-Umgebung und die Linux-Umgebung (Ich bin mir derzeit nicht sicher, ob es mit dem Betriebssystem zusammenhängt)
Die Schlüsselüberprüfung von PHP erfordert das Hinzufügen eines Headers und eines Tails.
Fügen Sie die angehängte Methode hier ein
Methode zum Konvertieren des geheimen Schlüsselformats:
function transJavaRsaKeyToPhpOpenSSL($content) { if ($content) { return trim(chunk_split($content, 64, "\n")); } return false; }
Methode zum Hinzufügen von Header und Tail:
function appendFlags($content, $isPublic = true) { if ($isPublic) { return "-----BEGIN PUBLIC KEY-----\n" . $content . "\n-----END PUBLIC KEY-----\n"; } else { return "-----BEGIN PRIVATE KEY-----\n" . $content . "\n-----END PRIVATE KEY-----\n"; } }
Das oben genannte Problem ist bei OPENSSL aufgetreten Verschlüsselung dieses Mal Ein wenig Erfahrung. Wenn Sie noch Fragen haben, hinterlassen Sie bitte unten eine Nachricht zur Diskussion.
Verwandte Empfehlungen:
Detaillierte Erklärung, wie PHP OpenSSL-Verschlüsselungs- und Entschlüsselungsbeispiele verwendet
PHP-Verschlüsselungs- und Entschlüsselungsmethode basierend auf OpenSSL
Das obige ist der detaillierte Inhalt vonBeheben von OpenSSL-Verschlüsselungsproblemen in PHP_php-Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!