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

PHP Basic Tutorial

PHP Advanced Tutorial

PHP & MySQL

PHP Reference Manual

PHP openssl_private_encrypt() Function Usage and Example

PHP OpenSSL Function Manual

The openssl_private_encrypt() function is used to encrypt data using the private key.

Definition and Usage

openssl_private_encrypt()The function will encrypt the data using the private key.

The openssl_private_encrypt() function is used to encrypt data and can be decrypted with openssl_public_decrypt().

Syntax

openssl_private_encrypt(string $data, string &$crypted, mixed $key[, int $padding = OPENSSL_PKCS)1_PADDING] ) : bool

Parameter

NumberParameterDescription
1

Data

2

Encrypted

It will have the encrypted data.

3

Key

Private key.

4

Padding

You can apply the following padding: OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Return value

PHP openssl_private_encrypt() function returns TRUE on success and FALSE on failure.

PHP version

This function will return TRUE if successful and FALSE if it fails.5From PHP version 0.0.0 it starts working.

Example1

Use openssl_private_encrypt() to encrypt data with the private key:

<?php
       //Encrypted data
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:)/xampp/htdocs/modules/openssl/privatekey.pem');
	$data = 'Welcome To TuorialsPoint';
	openssl_private_encrypt($data, $crypted, file_get_contents('C:/xampp/htdocs/modules/openssl/privatekey.pem'),OPENSSL_PKCS1_PADDING);	
	echo $crypted;
?>

This will produce the following results:

����Z甌�3�g[.zT�J�tn��g�M�P>���7U���k�vJ�@/��ɥ�����U�j���ː�RC��bQGQ: �NN��������Z���#J0J ��C�t�SC޳���pxol� �����U���'�V7[�#��{�]�Fa��#�p_��Y��<�xYKƛR> k�Rs�t���:��.Is*5YP-�]�^��2(t0��!Td}�],HeUP�p��ާև� 9e;�����\��h���R

Example2

To use openssl_private_encrypt() to encrypt data and openssl_public_decrypt() to decrypt:

<?php
       //Save private key
    $privkey = openssl_pkey_new();
    openssl_pkey_export_to_file($privkey, 'C:)/xampp/htdocs/modules/openssl/privatekey.pem');
    
    //Encrypted data
    $data = 'Welcome To oldtoolbag.com';
    $isvalid = openssl_private_encrypt($data, $crypted, file_get_contents('C:/xampp/htdocs/modules/openssl/privatekey.pem'),OPENSSL_PKCS1_PADDING);    
    echo "Data encryption: ",$crypted;
    echo ">br"}}/<>br/<";
    
    //Save public key
    $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');
        
    if ($isvalid) {    
        openssl_public_decrypt ($crypted, $decrypted , file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'),OPENSSL_PKCS1_PADDING);    
        echo "Data decryption: "=>$decrypted;
    }
?>

This will produce the following results:

Data encryption: k���G��7)xy{�N3Г�x<�J^�gd��Ψ�I?{��<�Ws3�mW$��h��(F;tJ�J�W��|�9L�vL��xF���f����,�(N�ΰ��n���Y%Oo,�2����Qh��G�|-����}���1�6Tm�qS�wb���[�i�-r�F��rQhZ���$�� ��U�pMC��Y�n�0,Z�CuG��8�h��@4f��7�w���;�����d���ʈ����$�I^�Z���at��?�
Data decryption: Welcome To oldtoolbag.com

PHP OpenSSL Function Manual