crypt类
| 版本 | 1.0+ |
| 命名空间 | boa |
| 文件 | boa/crypt.php |
| 说明 | 加密解密类,继承base类,配置:'CRYPT' => [], |
配置
| 配置项 | 默认值 | 类型 | 说明 |
|---|---|---|---|
| cipher | aes-128-cbc | string | 加解密方式,用openssl_get_cipher_methods()列出所支持方式 |
| key | string | 加解密key | |
| options | 0 | int | 加解密选项,可选值:OPENSSL_RAW_DATA,OPENSSL_ZERO_PADDING |
| iv | string | 初始化向量 以上4个配置用于对称加解密enc()和dec() |
|
| pubkey | BS_VAR .'crypt/pubkey.pem' | string | 公钥,用于公钥加解密public_enc()和public_dec() |
| prikey | BS_VAR .'crypt/prikey.pem' | string | 私钥,用于私钥加解密private_enc()和private_dec() |
| pripass | string | 私钥密码 | |
| sign_alg | sha1 | string | 签名算法,用于签名sign()和验签verify(),用openssl_get_md_methods()列出所支持算法 |
目录
| 方法 | 说明 |
|---|---|
| __construct() | 初始化 |
| enc() | 对称加密 |
| dec() | 对称解密 |
| public_enc() | 公钥加密 |
| private_dec() | 私钥解密 |
| private_enc() | 私钥加密 |
| public_dec() | 公钥解密 |
| sign() | 私钥签名 |
| verify() | 公钥验签 |
方法
| 说明 | ||||
|---|---|---|---|---|
| 初始化 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $cfg | [] | array | 配置数据 | |
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 对称加密 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 明文 | |
| $cipher | null | string | 加解密方式,默认为配置cipher | |
| $key | null | string | 加解密key,默认为配置key | |
| $options | null | string | 加解密选项,默认为配置options | |
| $iv | null | string | 初始化向量,默认为配置iv | |
| 返回值 | ||||
| 返回密文(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 对称解密 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 密文 | |
| $cipher | null | string | 加解密方式,默认为配置cipher | |
| $key | null | string | 加解密key,默认为配置key | |
| $options | null | string | 加解密选项,默认为配置options | |
| $iv | null | string | 初始化向量,默认为配置iv | |
| 返回值 | ||||
| 返回明文(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 公钥加密 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 明文 | |
| $padding | OPENSSL_PKCS1_PADDING | int | 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING | |
| 返回值 | ||||
| 返回密文(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 私钥解密 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 密文 | |
| $padding | OPENSSL_PKCS1_PADDING | int | 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING | |
| 返回值 | ||||
| 返回明文(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 私钥加密 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 明文 | |
| $padding | OPENSSL_PKCS1_PADDING | int | 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING | |
| 返回值 | ||||
| 返回密文(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 公钥解密 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 密文 | |
| $padding | OPENSSL_PKCS1_PADDING | int | 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING | |
| 返回值 | ||||
| 返回明文(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 私钥签名 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 数据 | |
| $sign_alg | null | string | 签名算法,默认为配置sign_alg | |
| 返回值 | ||||
| 返回签名(string),出错则报错 | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 公钥验签 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $data | Y | string | 数据 | |
| $sign | Y | string | 签名 | |
| $sign_alg | null | string | 签名算法,默认为配置sign_alg | |
| 返回值 | ||||
| 签名正确返回1(int),签名错误返回0(int),内部出错则报错 | ||||
| 示例 | ||||
|
||||