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

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

Utilisation et exemple de la fonction openssl_private_decrypt() en PHP

PHP OpenSSL Fonction Manual

La fonction openssl_private_decrypt() est utilisée pour déchiffrer les données avec la clé privée.

définition et utilisation

openssl_private_decrypt()La fonction utilisera la clé privée pour déchiffrer les données.

Utilisez la fonction openssl_private_decrypt() pour déchiffrer les données chiffrées avec openssl_private_encrypt().

grammaire

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

paramètres

numéroparamètresdescription
1

données

Les données à déchiffrer.

2

déchiffré

Il aura des données déchiffrées.

3

clé

clé privée.

4

padding

Vous pouvez appliquer les rembourrages suivants : OPENSSL_PKCS1_PADDING,OPENSSL_SSLV23_PADDING,OPENSSL_PKCS1_OAEP_PADDING,OPENSSL_NO_PADDING ..

Valeur de retour

La fonction PHP openssl_private_encrypt() retourne TRUE en cas de succès et FALSE en cas d'échec.

PHP version

Cette fonction retourne les valeurs5.0.0 de la version PHP commence à fonctionner.

Exemple1

Pour chiffrer les données avec openssl_public_encrypt() et déchiffrer avec openssl_private_decrypt() :

<?php
      //Sauvegarder la clé privée
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//Sauvegarder la clé publique
	$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');
	//Données chiffrées
	$data = 'Bienvenue à oldtoolbag.com';
	$isvalid = openssl_public_encrypt ($data, $crypted , file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'),OPENSSL_PKCS1_PADDING);	
	echo "Chiffrement des données : ",$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 "Déchiffrement des données : ",$decrypted;
	}
?>

Ce cela produira le résultat suivant :

Chiffrement des données : 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!
Déchiffrement des données : Bienvenue à oldtoolbag.com

Exemple2

Pour chiffrer le contenu d'un fichier avec openssl_public_encrypt() et déchiffrer avec openssl_private_decrypt() :

<?php
        //Sauvegarder la clé privée
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//Sauvegarder la clé publique
	$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');
	// Données chiffrées
	$data = file_get_contents('C:/xampp/htdocs/modules/openssl/test.txt'); // enregistrer toute donnée dans le fichier test.txt;
	$isvalid = openssl_public_encrypt ($data, $crypted , file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'),OPENSSL_PKCS1_PADDING);	
	echo "Chiffrement des données : ",$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 "Déchiffrement des données : ",$decrypted;
	}
?>

Ce cela produira le résultat suivant :

Chiffrement des données : �ى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���ƣ��-� 
Déchiffrement des données : Cela est un test de chiffrement de données utilisant le module openssl php.

PHP OpenSSL Fonction Manual