boaPHP开发手册v5.5

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() 公钥验签
方法

__construct()

说明
初始化
参数 必须 默认值 类型 说明
$cfg [] array 配置数据
示例
$crypt = boa::crypt()

enc()

说明
对称加密
参数 必须 默认值 类型 说明
$data Y string 明文
$cipher null string 加解密方式,默认为配置cipher
$key null string 加解密key,默认为配置key
$options null string 加解密选项,默认为配置options
$iv null string 初始化向量,默认为配置iv
返回值
返回密文(string),出错则报错
示例
$str = $crypt->enc('boaPHP is so easy'); // EFDTn+PuMa7QDlbrWSwLagKQ4+ZXTTyx5VMzp0tniZo=

dec()

说明
对称解密
参数 必须 默认值 类型 说明
$data Y string 密文
$cipher null string 加解密方式,默认为配置cipher
$key null string 加解密key,默认为配置key
$options null string 加解密选项,默认为配置options
$iv null string 初始化向量,默认为配置iv
返回值
返回明文(string),出错则报错
示例
$str = $crypt->dec('EFDTn+PuMa7QDlbrWSwLagKQ4+ZXTTyx5VMzp0tniZo='); // boaPHP is so easy

public_enc()

说明
公钥加密
参数 必须 默认值 类型 说明
$data Y string 明文
$padding OPENSSL_PKCS1_PADDING int 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING
返回值
返回密文(string),出错则报错
示例
$enc = $crypt->public_enc('boaPHP is so easy');

private_dec()

说明
私钥解密
参数 必须 默认值 类型 说明
$data Y string 密文
$padding OPENSSL_PKCS1_PADDING int 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING
返回值
返回明文(string),出错则报错
示例
$str = $crypt->private_dec($enc); // boaPHP is so easy

private_enc()

说明
私钥加密
参数 必须 默认值 类型 说明
$data Y string 明文
$padding OPENSSL_PKCS1_PADDING int 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING
返回值
返回密文(string),出错则报错
示例
$enc = $crypt->private_enc('boaPHP就这么简单');

public_dec()

说明
公钥解密
参数 必须 默认值 类型 说明
$data Y string 密文
$padding OPENSSL_PKCS1_PADDING int 可选值:OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING
返回值
返回明文(string),出错则报错
示例
$str = $crypt->public_dec($enc); // boaPHP就这么简单

sign()

说明
私钥签名
参数 必须 默认值 类型 说明
$data Y string 数据
$sign_alg null string 签名算法,默认为配置sign_alg
返回值
返回签名(string),出错则报错
示例
$key = base64_encode($crypt->sign('boaPHP is so easy'));

verify()

说明
公钥验签
参数 必须 默认值 类型 说明
$data Y string 数据
$sign Y string 签名
$sign_alg null string 签名算法,默认为配置sign_alg
返回值
签名正确返回1(int),签名错误返回0(int),内部出错则报错
示例
$res = $crypt->verify('boaPHP is so easy', base64_decode($key));