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),内部出错则报错 | ||||
示例 | ||||
|