- 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 - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送电子邮件
- PHP - 净化输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码标准
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - 错误调试
- 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 - OpenSSL 函数
什么是 OpenSSL?
OpenSSL 是一个免费的开源模块,旨在处理计算机网络上发生的通信。OpenSSL 是传输层安全 (TLS) 和安全套接字层 (SSL) 协议的工具。
什么是 SSL 证书?
安全套接字层,即 SSL,由网站使用。SSL 证书通过使用加密来保护两台计算机之间的数据。这两台计算机可以是客户端和服务器之间的数据共享。当您共享密码、信用卡详细信息、家庭住址、社会安全号码等数据时,必须对其进行保护,SSL 证书负责处理此操作。SSL 证书确保对参与安全连接的两台计算机的身份进行身份验证。
在 PHP 中安装 OpenSSL
OpenSSL 模块默认添加到 PHP 中。您可以通过删除 php.ini 中扩展名开头添加的 (;) ;extension=php_openssl.dll 来激活它。之后重新启动 Apache,并确认更改是否生效,将以下代码另存为 .php 并执行浏览器中的 .php。
<?php phpinfo(); ?>您应该在浏览器中看到已启用的 openssl,如下所示:
OpenSSL 配置
openssl.cnf 是配置文件,其中包含 openssl 工作所需的所有默认配置。要执行 openssl,首先 php 将尝试找到配置文件。要获得相同的效果,您必须将 php 文件夹添加到环境变量中。
如果您是 Windows 用户,以下是在 php 文件夹中设置环境变量的步骤
1. 右键单击“我的电脑”,然后转到“属性”。
2. 转到“高级系统设置”。
3. 单击“环境变量”按钮。
4. 编辑路径变量,然后单击“编辑”按钮。
5. 现在在末尾添加 Php 文件夹路径。我使用的是 xampp,所以我的 php 文件夹是 C:\xampp\php;
6. 完成后,单击“确定”按钮。
7. 现在打开命令提示符并输入命令:openssl version -a。
C:\Windows\system32>openssl version -a OpenSSL 1.0.2l 25 May 2017 built on: reproducible build, date unspecified platform: mingw64 options: bn(64,64) rc4(16x,int) des(idx,cisc,2,long) idea(int) blowfish(idx) compiler: x86_64-w64-mingw32-gcc -I. -I.. -I../include -D_WINDLL -DOPENSSL_PIC -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -static-libgcc -DL_ENDIAN -O3 -Wall -DWIN32_ LEAN_AND_MEAN -DUNICODE -D_UNICODE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DO PENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSH A512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM OPENSSLDIR: "/etc/ssl"
现在 php 将能够找到 openssl.cnf 配置文件。
OpenSSL 函数
下表列出了所有与 PHP OpenSSL 相关的函数。此处,“版本”列表示支持该函数的 PHP 的最早版本。序号 | 函数与描述 | 版本 |
---|---|---|
1 | openssl_pkey_new()
返回一个包含新的私钥和公钥对的资源标识符 |
5.0.0 |
2 | openssl_pkey_get_private()
返回私钥 |
5.0.0 |
3 | openssl_pkey_get_public()
返回公钥 |
5.0.0 |
4 | openssl_pkey_export_to_file()
将密钥导出到文件 |
5.0.0 |
5 | openssl_private_encrypt()
使用私钥加密数据 |
5.0.0 |
6 | openssl_public_encrypt()
使用公钥加密数据 |
5.0.0 |
7 | openssl_public_decrypt()
使用公钥解密数据 |
5.0.0 |
8 | openssl_private_decrypt()
使用私钥解密数据 |
5.0.0 |