English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 | data | . |
2 | encrypted | 암호화된 데이터를 가질 것입니다. |
3 | 키 | 공개 키. |
4 | padding | 적용할 수 있는 패딩은 OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING。 |
PHP openssl_public_encrypt() 함수는 성공시 TRUE, 실패시 FALSE를 반환합니다.
이 함수는 버전이 큰5.0.0의 PHP 버전부터 작동합니다.
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�c~s�ap3)w��=� ��#���g;���u��_%�Z�bb�&��m��v&����q��k
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