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

Tutoriais básicos do PHP

Tutoriais avançados do PHP

PHP & MySQL

Manual de referência do PHP

Uso e exemplo da função openssl_public_encrypt() em PHP

PHP OpenSSL Function Manual

A função openssl_public_encrypt() é usada para criptografar dados usando a chave pública.

Definição e uso

openssl_public_encrypt()A função usará a chave pública para criptografar os dados.

O uso da função openssl_public_encrypt() para criptografar dados e pode ser descriptografado usando openssl_private_decrypt().

sintaxe

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

parâmetro

númeroparâmetrodescrição
1

dados

.

2

criptografado

ele vai ter dados criptografados.

3

chave

púvo

4

preenchimento

Você pode aplicar preenchimento: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Retorno

A função openssl_public_encrypt() do PHP retorna TRUE com sucesso, retorna FALSE em caso de falha.

Versão do PHP

Esta função vai retornar valores maiores que5.0.0 da versão do PHP começou a funcionar.

实例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');
	//Encrypted data
	$data = 'Welcome To TuorialsPoint';
	$isvalid = openssl_public_encrypt ($data, $crypted , file_get_contents('C:/xampp/htdocs/modules/openssl/publickey.pem'),OPENSSL_PKCS1_PADDING);	
	echo "Data encryption: "=>$crypted;
?>

This will produce the following result:

Data encryption: é o processo de transformar dados em uma forma que não possa ser lida por ninguém é exceto aqueles que possuem a chave correta de descriptografia.+c��f*��o���W�7EWé $pé. rngé _NáA1é2Uésério é especializado em segurança da informação; é responsável por garantir que os dados sejam protegidos de acessos não autorizados; é responsável por garantir que os dados sejam protegidos de acessos não autorizados; é responsável por garantir que os dados sejam protegidos de acessos não autorizados; é responsável por garantir que os dados sejam protegidos de acessos não autorizados; é responsável por garantir que os dados sejam protegidos de acessos não autorizados; é responsável por garantir que os dados sejam protegidos de acessos não autorizados;

实例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');
	//Encrypted data
	$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 "Data encryption: "=>$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 "Data decryption: "=>$decrypted;
	}
?>

This will produce the following result:

Data encryption: 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�cist�9�{data|NE�a!
Data decryption: Welcome To oldtoolbag.com

PHP OpenSSL Function Manual