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_public_encrypt() en PHP

PHP OpenSSL Fonction Manual

La fonction openssl_public_encrypt() est utilisée pour chiffrer les données en utilisant la clé publique.

Définition et utilisation

openssl_public_encrypt()La fonction utilisera la clé publique pour chiffrer les données.

L'utilisation de la fonction openssl_public_encrypt() permet de chiffrer les données, et elle peut être déchiffrée à l'aide de openssl_private_decrypt().

Syntaxe

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

Paramètres

NuméroParamètresDescription
1

data

.

2

chiffré

Il aura les données chiffrées.

3

Clé

Clé publique.

4

rembourrage

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

Valeur de retour

La fonction openssl_public_encrypt() retourne TRUE en cas de succès, FALSE en cas d'échec.

Version PHP

Cette fonction retourne TRUE si la version PHP est supérieure à5.0.0 commence à fonctionner depuis la version PHP.

Exemple1

Utiliser openssl_public_encrypt() pour crypter les données avec la clé publique :

<?php
        //Enregistrer la clé privée
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//Enregistrer la clé publique
	$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');
	//Données chiffrées
	$data = 'Welcome To TuorialsPoint';
	$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;
?>

Cela produira les résultats suivants :

Chiffrement de données : ��E �wC�ݭ�+c��f*��o���W�7�EW��$�p�.rng�_N��A1���2Uݴ~s�ap۳)w��=� ��#���g;���u��_%�Z�bb�&��m��v&����q��k

Exemple2

Pour crypter les données en utilisant openssl_public_encrypt() et déchiffrer en utilisant openssl_private_decrypt() :

<?php
        //Enregistrer la clé privée
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/privatekey.pem');
	//Enregistrer la clé publique
	$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');
	//Données chiffrées
	$data = 'Bienvenue sur 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;
	}
?>

Cela produira les résultats suivants :

Chiffrement des données : L�_}{�E*?���9[w����7p �\ϸI�?données'��données�n��!����ɿ�*����Xcw�����Ւ�)��/��{��!j�L��I*Ï"9eV�9�=Y\�m�i䁦�M(�0PJ���Ԇ�9��C�`�a�données�b���a��?�m�G$i��eU/[�eU����\=�zLdŌn"��:[\�UA��ԭ�ힲ2@-"d��s�="2�nˣ�h��q5U��b�9�{données|�NE�a!
Déchiffrement des données : Bienvenue sur oldtoolbag.com

PHP OpenSSL Fonction Manual