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

دليل دروس PHP الأساسية

دليل دروس PHP المتقدمة

PHP & MySQL

دليل مرجع PHP

استخدام دالة openssl_public_encrypt() في PHP وأمثلة

دليل وظائف OpenSSL PHP

استخدام دالة openssl_public_encrypt() لتحديد البيانات باستخدام المفتاح العمومي.

التعريف والاستخدام

openssl_public_encrypt()ستستخدم الدالة التشفير العمومي لتحديد البيانات.

استخدام دالة openssl_public_encrypt() للتحقق من التشفير البيانات، ويمكن استخدام openssl_private_decrypt() لفك التشفير.

النحو

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

المفاهيم

الترتيبالمفاهيمالوصف
1

بيانات

.

2

المشفرة

سيكون لديه البيانات المشفرة.

3

المفتاح

المفتاح العمومي.

4

تعبئة

يمكنك تطبيق التعبئة التالية: OPENSSL_PKCS1_PADDING،OPENSSL_SSLV23_PADDING،OPENSSL_PKCS1_OAEP_PADDING،OPENSSL_NO_PADDING.

القيمة المرتجعة

يعود OpenSSL_public_encrypt() TRUE إذا كانت النتيجة ناجحة، وإلا FALSE.

إصدار PHP

سيبدأ هذا الدالة من إصدار PHP 5.0.0 وما فوق.

مثال 1

استخدام openssl_public_encrypt() لتشفير البيانات باستخدام المفتاح العمومي:

<?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');
	//بيانات التشفير
	$data = 'Welcome To TuorialsPoint';
	$isvalid = openssl_public_encrypt ($data, $crypted, file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'), OPENSSL_PKCS1_PADDING);	
	echo "تشفير البيانات: " . $crypted;
?>

سيكون هناك النتيجة التالية:

تشفير البيانات: ��E �wC�ݭ�+c��f*��o���W�7�EW��$�p�.rng�_N��A1���2Uݴ~s�ap۳)w��=� ��#���g;���u��_%�Z�bb�&��m��v&����q��k

مثال 2

لإ加密 البيانات باستخدام openssl_public_encrypt() واستخدام openssl_private_decrypt() لفك التشفير:

<?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');
	//بيانات التشفير
	$data = 'مرحبًا بك في oldtoolbag.com';
	$isvalid = openssl_public_encrypt ($data, $crypted, file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'), OPENSSL_PKCS1_PADDING);	
	echo "تشفير البيانات: " . $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 "استعادة البيانات المشفرة: " . $decrypted;
	}
?>

سيكون هناك النتيجة التالية:

تشفير البيانات: 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!
استعادة البيانات المشفرة: مرحبًا بك في oldtoolbag.com

دليل وظائف OpenSSL PHP