PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

PHP openssl_pkey_get_private() 函數(shù)用法及示例

PHP OpenSSL 函數(shù)手冊

openssl_pkey_get_private()函數(shù)用于獲取私鑰。

定義和用法

openssl_pkey_get_private()函數(shù)將返回您的私鑰。

函數(shù)openssl_pkey_get_private()從給定的公鑰/私鑰返回私鑰。例如.pem文件中的內(nèi)容。

語法

   openssl_pkey_get_private ( mixed $key [, string $passphrase = "" ] ) : resource

參數(shù)

序號參數(shù)描述
1

key

您可以從.pem文件中獲取密鑰,也可以使用openssl_pkey_new()生成的私鑰。

2

passphrase

 如果指定的密鑰已被加密了(受密碼保護),可選參數(shù) passphrase 是必須要的

返回值

如果沒有錯誤,PHP openssl_pkey_get_private()函數(shù)將返回資源標(biāo)識符。如果密鑰生成失敗,它將返回false。

PHP版本

此函數(shù)將從大于5.0.0的PHP版本開始工作。

實例1

openssl_pkey_get_private()的工作:

<?php
       //生成新的私鑰(和公鑰)對
	$privkey = openssl_pkey_new();
	openssl_pkey_export($privkey, $yourprivatekey);
	$testprivatekey = openssl_pkey_get_private($yourprivatekey);
	if ($testprivatekey === false) {
		var_dump(openssl_error_string());
	} else {
		var_dump($testprivatekey);
	}
?>

這將產(chǎn)生以下結(jié)果:

resource(3) of type (OpenSSL key)

實例2

openssl_pkey_get_private() 和 openssl_pkey_get_details()的工作-

<?php
   $privkey = openssl_pkey_new();
	openssl_pkey_export($privkey, $yourprivatekey);
	$testprivatekey = openssl_pkey_get_private($yourprivatekey);
	if ($testprivatekey === false) {
      var_dump(openssl_error_string());
	} else {
		//var_dump($testprivatekey);
		$key_details = openssl_pkey_get_details($testprivatekey);
		print_r($key_details);	
	}
?>

這將產(chǎn)生以下結(jié)果:

Array
(
    [bits] => 2048
    [key] => -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnO1F0Gt03mgxLcDpRxlm
VEh8sfIfan5o11EcoLaEwaTyKgMNm7A4Rs9LcG3fwkNjXo8XNRQv6OSrhl8y00AX
+cPUb78Qp/K3INmyXr8UUVWy0BT+Rxq5kez1TmZhpITxUYLScEL8DPcghFyfstRa
5hP8hc0cwYM6N4ieOlXIxrdmbzTn92MeyiTstTvHxt8aGKbSdpmksWyNeqke22kM
9pBfEsf98XFh5HoQBQaQF6GXL5y00PWIdki7DTzYtXXPRGcQl/53M5HrGGdP0kGS
uD4YOFXRWYtQR1ZYLa4Ej+BP0eOpfxXiME0aaH1/2iWqyi+bsvkdgFbu92j5ptsr
yQIDAQAB
-----END PUBLIC KEY-----

    [rsa] => Array
        (
            [n] => ??E?kt?h1-??GfTH|??j~h?Q??????*
??8F?Kpm??Cc^?5/??_2?@???o??? ?^?QU???G????Nfa???Q??pB?? ?\???Z??????:7??:U??fo4??c?$?;?????v???l?z??i??_???qa?z???/?????vH?
<?u?Dg??w3??gO?A??>8U?Y?PGVX-???O???0Mh}?%??/????V??h???+?
            [e] => 
            [d] => MK??C|??Y5??5}Z?R0;?S?I?V??????M??0?Lw?r?????R??|??C???d?W?}?#????v?[9iZI??1??&!???A?;8K?%}??`@
??????????}??n	b?]K?L#?~Sg?' 81!??2R]??????`?vl?&?Z?@-q???7u?#????.???d??????]?*Z-?'?|?? ?M
j???????
            [p] => ?*&5IXM?U?$u?'????d,?$x??iR?1?????A?Cxi`%?FR?5?
??!?a??C???t?^????f?$???V?+????]v"?+=??I?w??RN??<?P?e??
3-?"???^????|_?-?l??lD,???=?26??XGg5?@}q??T.?j????A??#??m,>#YN}??,pk}g
            [dmp1] => ??
?l5o?5L???????h)I?+??D?n?J!??ycP???1
=u>&??h-HT????K??j;?um

?oO\?e??.????
X?%s????_?|Za3??z$?\n1?N1?u?j)????z?
            [dmq1] => ??n[???????<??t??^??P???)?F@ni??
?gH?(???@#s?!+$?D??]????{?????I?l???[$???>i	q|?$?G??I'R??^c
"????e"k
            [iqmp] => ??ij?	??a6?W#?:??#bS??ó??S?r#?C??87])4??Z???`?????????w???.?a?y??@	???p???s?XP.{?o9h?Bq????EU??n	???&S??tE?
        )

    [type] => 0
)

實例3

使用密碼的openssl_pkey_get_private()工作:

<?php
   $privkey = openssl_pkey_new();
	openssl_pkey_export($privkey, $testkey, 'helloworld');
	$testprivatekey = openssl_pkey_get_private($testkey, 'helloworld');
	if ($testprivatekey === false) {
		var_dump(openssl_error_string());
	} else {
		//var_dump($testprivatekey);
		$key_details = openssl_pkey_get_details($testprivatekey);
		print_r($key_details);	
	}
?>

這將產(chǎn)生以下結(jié)果:

Array
(
    [bits] => 2048
    [key] => -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs4HV+NM9dQ1ssuxb9PhM
64Yn8RHgv7YKK33nZudmk6SCOr9yRo7immp+bkaA0Lt/9ONJP+UF5VCltpdNdHLb
GDTo+TkK5NdTJDalON3L9EhB4cJeQaQQh59uJGf39Et0BJiYiINXsNdlc/pig1/Z
XDRyhEtqQ6nZJkOIIWO0gpdj9xj2naq/wy6Oas4p3/A7EvN5nB22xfEVIptKUZzi
YWV4Bs5y2OM3GRwVv+jLYKQ49S/ZKq7MpdCxcXC6YxyrlEIz4PL9cWRtybK3BINv
JnCWrfWRhUtlAY/CvfXrq2PhXwHVcebsDOPob6A71TcZMirxFZVyqkC+4rGX+5be
PwIDAQAB
-----END PUBLIC KEY-----

    [rsa] => Array
        (
            [n] => ?????=u
l??[??L?'??
+}?f?f???:?rF??j~nF?л??I???P???Mtr?4??9
??S$6?8???HA??^A???n$g??Kt????W??es?b?_?\4r?KjC??&C?!c???c??????.?j?)??;?y????"?JQ??aex?r??7???`?8?/?*??бqp?c??B3???qdm???o&p?????Ke????c?_?q????o?;?72*??r?@??????
            [e] => 
            [d] => ??e???e?$%
s?Q??EUA?D??Bu??34$?v?#????P?\??uD??(?z?w+?z????a?5???X????????q?P????%O+3??]+o?3?FM?*?Z^L??k?/?Ty??/??;?)?sB?Np?5?@?x?,8?z2?#?SyM?o?X?.???;?????K??? ??????qsLLD
^???"j??*=Io{????7`a??{?l???B??????#???\?
            [p] => ???à?tY?@???[N??n?p????f?	???7/\?????y<ox?,?(損?i?w?X?P?5?@??s BD?C?????| ?*???JH??/??|`?????+?3??]??oc??fI?Ze?`?C?>U??|?"???:U???^??L????g?	?u|@z????F%6?X/?
??ú??+?_?Yh:???59}?D?&???Gc
            [dmp1] => i?*/
?U???6??
???|?>3?HP?hN??.?G???????9???cxj*?!??0????R??:?9E(?Z??$?&?&7>?9.Ih??E?z/?,?QR?"?'?;???^???xq
            [dmq1] => |?w??`???????
??3?????b?????AZ?t???.8???Q]??F?iI??2)?{<??G^?t??u?Mb??4I?YL?E?S?8a!?6??&Q?(?^????????é???
            [iqmp] => \p5??N??
$WC?j?? ?|?{>d???????Y
f?????9?3?$rF(ON??>??? ????%??`(?
&?op? ?}=C+??????b???#?G"?0T.???G`t????^???\7?
        )

    [type] => 0
)

實例4

使用.pem文件處理openssl_pkey_get_private():

<?php
        //創(chuàng)建私鑰
	$privkey = openssl_pkey_new();
	openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/fortesting.pem');
	
	//使用帶有私鑰的.pem文件。
	$testprivatekey = openssl_pkey_get_private(file_get_contents('C:/xampp/htdocs/modules/openssl/fortesting.pem'));
	if ($testprivatekey === false) {
		var_dump(openssl_error_string());
	} else {
		//var_dump($testprivatekey);
		$key_details = openssl_pkey_get_details($testprivatekey);
		print_r($key_details);	
	}
?>

這將產(chǎn)生以下結(jié)果:

Array
(
    [bits] => 2048
    [key] => -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqaka1+sKh3D4HgIDzER6
vr/DI5u6h1QF6Xm1q/nOduTn0vlx4bLv+QEbcElXV1Bss4W7wOZRkMIOwj4xcT+e
PGKaN95JUyxC/NQ13+F6K5yUk0ish36BVusrHt0wdZj28f63gHm824D0yDnn+aJr
s+vSuMppErUD/i0QUFnO86ypHi/zeb+QBEif4a82RtfwRIVUtE/Sxy08ct+1ogA9
pdBd47elLmcekz/dtSUqpUjLj5SNojS7AJCZ5LNxnLOzN3ryCQXGaAn8KHQ284Xs
jlYBjSjXFLY/1fLDYDpQGOApoBj2vK9Io8MxFU3uss79Ezb6LwKZG6CmzlbldBrJ
YQIDAQAB
-----END PUBLIC KEY-----

    [rsa] => Array
        (
            [n] => ????
?p??Dz???#???T?y????v????q???pIWWPl?????Q???>1q??<b?7?is,b??5??z+???h??~?v?+?0u??????y????9???k????i??-py?? ?y??h??6f??d?t?o??- 
            [d] => ?9:??????Y????"???*xu?&??gt???? &"???{??!Px??r?hn#??!c%?u
????x??7z????&??|??ǔv????XT????[w"?=e??m?1R_JH?/?hX??.?E????&&'?:?/:??????.I?zdx@?6??)??i??1L?z??"X??>?????]?t????Rh??g??!8?Y9?G?r???9z?????z??~?????jo_???
            [p] => ????+?iy???m:#`BF?????????Bj>?????f?2W%?eIAn? ???????.o?	v?`tgg??a?L?%??
L[??\6??`??sx]?~?bU?fF?/Oy?6?+~v??7u?
            [q] => ǎ???u(?.L???l??o?Gc?x???????@4??r? `i?i?X??v??'?33X??c??_???m8??M???5#t"??^?{?j	vSLi?X??mh?I?8?
1t?
            [dmp1] => ???6?$5?Eg?Q?1F"??8y??V`??\??A?{????0?
??ym?6?dUI<?8?f???\??"K?Khja5?z
?w?'?m?F9?nv?r?FP]??i?%???L?1?m'?Y??4
@lth7?
            [dmq1] => il5w*?eG?~??z?2?{??*?"???????`?????y?r????????%@?lq???De??U?z???
?s.??[
????G?l_?h?????8¢H4N?7$?25???L?
            [iqmp] => 9"l@ǚ?O?[I)}??K?6A/f5S?	????\?u???>??C????? ?z??]?B?-ry/????D??w??H|?g:????8???s????(?B?Eo?`0
)

PHP OpenSSL 函數(shù)手冊

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清