English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Grundanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

Verwendung und Beispiel von PHP openssl_private_decrypt()

PHP OpenSSL Funktionshandbuch

Die openssl_private_decrypt() Funktion wird verwendet, um Daten mit dem Privatschlüssel zu entschlüsseln.

Definition und Verwendung

openssl_private_decrypt()Die Funktion wird die Daten mit dem Privatschlüssel entschlüsseln.

Verwenden Sie die Funktion openssl_private_decrypt() zum Entschlüsseln von Daten, die mit openssl_private_encrypt() verschlüsselt wurden.

Syntax

openssl_private_decrypt( string $data , string &$entschlüsselt , mixed $schlüssel [, int $padding = OPENSSL_PKCS1_PADDING] ) : bool

Parameter

NummerParameterBeschreibung
1

Daten

Zu entschlüsselnde Daten.

2

Entschlüsselt

Es wird verschlüsselte Daten haben.

3

Schlüssel

Privatschlüssel.

4

Padding

您可以应用的填充为:OPENSSL_PKCS1Sie können angewendete Füllungen sein: OPENSSL_PKCS23_PADDING, OPENSSL_SSLV1_PADDING, OPENSSL_PKCS

_OAEP_PADDING, OPENSSL_NO_PADDING ..

Rückgabewert

PHP openssl_private_encrypt() Function gibt TRUE zurück, wenn erfolgreich, und FALSE, wenn fehlgeschlagen.

PHP-Version5.0.0 zu arbeiten. Diese Funktion beginnt ab der PHP-Version

Beispiel1

Um Daten mit openssl_public_encrypt() zu verschlüsseln und mit openssl_private_decrypt() zu entschlüsseln:

<?php
      //Speichern Sie den privaten Schlüssel
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//Speichern Sie den öffentlichen Schlüssel
	$dn = array(
		"countryName" => "IN",
		"stateOrProvinceName" => "Karnataka",
		"localityName" => "test"1",
		"organizationName" => "test"2",
		"organizationalUnitName" => "test"3",
		"commonName" => "www.test.com",
		"emailAddress" => "[email protected]"
	);
	$cert = openssl_csr_new($dn, $privkey);}}
	$cert = openssl_csr_sign($cert, null, $privkey, 365);
	openssl_x509_export_to_file($cert, 'C:/xampp/htdocs/modules/openssl/publickey.pem');
	//verschlüsselte Daten
	$data = 'Welcome To oldtoolbag.com';
	$isvalid = openssl_public_encrypt ($data, $crypted , file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'),OPENSSL_PKCS1_PADDING);	
	echo "Datenverschlüsselung: "=>$crypted;
	echo ">br/<>br/<";
	if ($isvalid) {	
		openssl_private_decrypt ($crypted, $decrypted , file_get_contents('C:/xampp/htdocs/modules/openssl/privatekey.pem'),OPENSSL_PKCS1_PADDING);	
		echo "Datenentschlüsselung: "=>$decrypted;
	}
?>

Dies wird folgende Ergebnisse erzeugen:

Datenverschlüsselung: L�_}{�E*?���9[w����7p �\ϸI�?ݟ'��ݹ�n��!����ɿ�*����Xcw�����Ւ�)��/��{��!j�L��I*Ï"9eV�9�=Y\�m�i䁦�M(�0PJ���Ԇ�9��C�`�a�ݧ�b���a��?�m�G$i��eU/[�eU����\=�zLdŌn"��:[\�UA��ԭ�ힲ2@-"d��s�="2�nˣ�h��q5U��浿���9�{ݼ��|�NE�a!
Datenentschlüsselung: Willkommen zu oldtoolbag.com

Beispiel2

Um Dateiinhalte mit openssl_public_encrypt() zu verschlüsseln und mit openssl_private_decrypt() zu entschlüsseln:

<?php
        //Speichern Sie den privaten Schlüssel
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//Speichern Sie den öffentlichen Schlüssel
	$dn = array(
		"countryName" => "IN",
		"stateOrProvinceName" => "Karnataka",
		"localityName" => "test"1",
		"organizationName" => "test"2",
		"organizationalUnitName" => "test"3",
		"commonName" => "www.test.com",
		"emailAddress" => "[email protected]"
	);
	$cert = openssl_csr_new($dn, $privkey);}}
	$cert = openssl_csr_sign($cert, null, $privkey, 365);
	openssl_x509_export_to_file($cert, 'C:/xampp/htdocs/modules/openssl/publickey.pem');
	// verschlüsselte Daten
	$data = file_get_contents('C:/xampp/htdocs/modules/openssl/test.txt'); // alle Daten in die Datei test.txt speichern;
	$isvalid = openssl_public_encrypt ($data, $crypted , file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'),OPENSSL_PKCS1_PADDING);	
	echo "Datenverschlüsselung: "=>$crypted;
	echo ">br/<>br/<";
	if ($isvalid) {	
		openssl_private_decrypt ($crypted, $decrypted , file_get_contents('C:/xampp/htdocs/modules/openssl/privatekey.pem'),OPENSSL_PKCS1_PADDING);	
		echo "Datenentschlüsselung: "=>$decrypted;
	}
?>

Dies wird folgende Ergebnisse erzeugen:

Datenverschlüsselung: �ى1�A����c�`�xi�j&�!$�z˚�i�*:�)�W�����ai�ٶ�����|t���u��m3S����`��B�fF�qu �r�Z����2X����l�P��7�{ ��v�3(5�RdCř6�]�X`�[�2��{��d�̣bP���YHz �*ب��ZX�R�RWG*��.���˸>�|f�#ԇ]�K�������@ж�'�hp���À�7�T���mΓ�&��BeR���cu�Y���ƣ��-� 
Datenentschlüsselung: Dies ist ein Datenverschlüsselungstest, der mit dem openssl php Modul durchgeführt wird.

PHP OpenSSL Funktionshandbuch