English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função openssl_public_encrypt() é usada para criptografar dados usando a chave pública.
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().
openssl_public_encrypt( string $data, string &$crypted, mixed $key[, int $padding = OPENSSL_PKCS1_PADDING] ) : bool
número | parâmetro | descriçã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. |
A função openssl_public_encrypt() do PHP retorna TRUE com sucesso, retorna FALSE em caso de falha.
Esta função vai retornar valores maiores que5.0.0 da versão do PHP começou a funcionar.
使用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;
要使用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