Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Schritte zur Implementierung der Public-Key-Verschlüsselung mithilfe der PHP+openssl-Erweiterung

Ausführliche Erläuterung der Schritte zur Implementierung der Public-Key-Verschlüsselung mithilfe der PHP+openssl-Erweiterung

php中世界最好的语言
php中世界最好的语言Original
2018-05-17 15:44:581822Durchsuche

Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Schritte zur Implementierung der Public-Key-Verschlüsselung mit der PHP+openssl-Erweiterung geben. Was sind die Vorsichtsmaßnahmen für die PHP+openssl-Erweiterung, um die Public-Key-Verschlüsselung zu implementieren? Ein praktischer Fall, werfen wir einen Blick darauf.

sieht so aus:

// 生成私钥
# openssl genrsa -out rsa_private_key.pem 1024
// 生成公钥
# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

Hier ist der Beispielcode:

<?php
// openssl 扩展检测
var_dump(extension_loaded(&#39;openssl&#39;));
$prikey = openssl_pkey_get_private(file_get_contents(&#39;rsa_private_key.pem&#39;)); //私钥
$pubkey = openssl_pkey_get_public(file_get_contents(&#39;rsa_public_key.pem&#39;)); //公钥
// 明文数据
$data = &#39;test-string!&#39;;
/**
 * 可能会出的问题:Don&#39;t know how to get public key from this private key
 * 原因:PHP 的 openssl 扩展和 Apache 的不一致导致, 当然在命令行下运行程序则不会出现此问题
 */
// 公钥加密
$encrypt_data = &#39;&#39;;
openssl_public_encrypt($data, $encrypt_data, $pubkey);
$encrypt_data = base64_encode($encrypt_data);
echo $encrypt_data;
echo &#39;<br/>&#39;;
// ------------------------------------------------------------
// 私钥解密
$encrypt_data = base64_decode($encrypt_data);
openssl_private_decrypt($encrypt_data, $decrypt_data, $prikey);
var_dump($decrypt_data);

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Schritte zum lokalen Testen der API-Schnittstelle mit PHP

Detaillierte Erläuterung der Zahlungsschritte für die Integration der Alipay APP in den PHP-Server

Detaillierte Erläuterung der Schritte für PHP, um PDO zum Betreiben von MySQL zum Lesen von Daten zu verwenden

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Schritte zur Implementierung der Public-Key-Verschlüsselung mithilfe der PHP+openssl-Erweiterung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn