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

Tutorial di base di PHP

Tutorial avanzato di PHP

PHP & MySQL

Manuale di riferimento di PHP

Uso e esempio della funzione openssl_private_decrypt() di PHP

PHP OpenSSL Funzione Manuale

La funzione openssl_private_decrypt() viene utilizzata per decifrare i dati utilizzando la chiave privata.

Definizione e uso

openssl_private_decrypt()La funzione decifra i dati utilizzando la chiave privata.

Usa la funzione openssl_private_decrypt() per decifrare i dati criptati con openssl_private_encrypt().

Sintassi

openssl_private_decrypt( string $data , string &$decrypted , mixed $key [, int $padding = OPENSSL_PKCS1_PADDING ] ) : bool

Parametro

NumeroParametroDescrizione
1

Dati

Dati da decifrare.

2

Decifrato

Avrà i dati decifrati.

3

Chiave

Chiave privata.

4

Padding

Puoi applicare il riempimento: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING ..

Valore di ritorno

La funzione openssl_private_encrypt() di PHP restituisce TRUE se ha successo, FALSE se fallisce.

Versione PHP

Questa funzione funzionerà a partire dalla versione PHP maggiore di 5.0.0.

Esempio 1

Per utilizzare openssl_public_encrypt() per cifrare i dati e openssl_private_decrypt() per decifrare:

<?php
      //保存私钥
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//保存公钥
	$dn = array(
		"countryName" => "IN",
		"stateOrProvinceName" => "Karnataka",
		"localityName" => "test1",
		"organizationName" => "test2",
		"organizationalUnitName" => "test3",
		"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');
	//Cifratura dati
	$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 "Crittografia dei dati: "=>$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 "Decifrazione dei dati: "=>$decrypted;
	}
?>

Questo produrrà i seguenti risultati:

Cifratura dati: 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!
Decifrazione dati: Benvenuti su oldtoolbag.com

Esempio 2

Per utilizzare openssl_public_encrypt() per crittografare il contenuto del file e openssl_private_decrypt() per decrittografare:

<?php
        //保存私钥
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//保存公钥
	$dn = array(
		"countryName" => "IN",
		"stateOrProvinceName" => "Karnataka",
		"localityName" => "test1",
		"organizationName" => "test2",
		"organizationalUnitName" => "test3",
		"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');
	// dati crittografati
	$data = file_get_contents('C:/xampp/htdocs/modules/openssl/test.txt'); // salvare qualsiasi dati nel file test.txt;
	$isvalid = openssl_public_encrypt($data, $crypted, file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'), OPENSSL_PKCS1_PADDING);	
	echo "Crittografia dei dati: "=>$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 "Decifrazione dei dati: "=>$decrypted;
	}
?>

Questo produrrà i seguenti risultati:

Crittografia dei dati: ǐ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���ƣ��-� 
Decifrazione dei dati: Questo è un test di crittografia dei dati utilizzando il modulo openssl php.

PHP OpenSSL Funzione Manuale