- PHP 教程
- PHP - 首页
- PHP - 路线图
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混合
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与 I/O
- PHP - 数学函数
- PHP - Heredoc 和 Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 键值比较运算符
- PHP 控制语句
- PHP - 决策制定
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理 CSV 文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象 PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - Final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET 和 POST
- PHP - 文件上传
- PHP - Cookies
- PHP - Sessions
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 净化输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - Bug 调试
- PHP - 针对 C 开发人员
- PHP - 针对 PERL 开发人员
- PHP - 框架
- PHP - Core PHP 与框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望
- PHP - Use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已删除的扩展和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - php_function_openssl_pkey_get_private() 函数
定义和用法
openssl_pkey_get_private() 函数将返回私钥。
描述
函数 openssl_pkey_get_private() 从给定的公钥/私钥返回私钥。例如,来自 .pem 文件的内容。
语法
openssl_pkey_get_private ( mixed $key [, string $passphrase = "" ] ) : resource
参数
序号 | 参数 | 描述 |
---|---|---|
1 |
key |
您可以从 .pem 文件中获取密钥,或使用 openssl_pkey_new() 生成的私钥。 |
2 |
passphrase |
如果您使用的密钥已加密,则必须指定密码。 |
返回值
如果 PHP openssl_pkey_get_private() 函数没有错误,则返回一个资源标识符。如果密钥生成失败,则返回 false。
PHP 版本
此函数适用于 PHP 5.0.0 及更高版本。
示例 1
openssl_pkey_get_private() 的工作原理
<?php // Generate a new private (and public) key pair $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); } ?>
这将产生以下结果
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); } ?>
这将产生以下结果
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); } ?>
这将产生以下结果
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�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 //creating private key $privkey = openssl_pkey_new(); openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/fortesting.pem'); //using .pem file with private key. $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); } ?>
这将产生以下结果
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?� [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_function_reference.htm
广告