openlss / lib-crypt
PHP-Mcrypt提供的AES加密的简短库
0.0.10
2013-04-17 21:51 UTC
Requires
- php: >=5.3.2
- openlss/lib-config: ~0.0.1
Requires (Dev)
- openlss/core-boot: ~0.0.1
- openlss/lib-config: ~0.0.1
This package is not auto-updated.
Last update: 2024-09-14 13:37:02 UTC
README
PHP-Mcrypt提供的AES加密的简短库
使用方法
use \LSS\Crypt; //create keys $iv_key = Crypt::IVCreate(); $crypt_key = Crypt::keyCreate(); $crypt = Crypt::_get($crypt_key,$iv_key); $crypted_str = $crypt->encrypt('my string'); //returns base64 encoded crypted string $var = $crypt->decrypt($crypted_str); //returns 'my string'
填充
默认情况下,MCrypt会将字符串NULL-PAD以获得正确的加密。然而,这会在期望精确有效负载加密(如二进制数据)时造成问题
Crypt通过在返回的字符串中存储有效负载的大小(前4个字节)来处理这个问题。然后Crypt提取这个大小,并在解密时将有效负载修剪到原始大小
缺点是,如果没有首先移除前4个字节,它不能通过常规的MCrypt函数进行解密。建议如果可能的话,修剪有效负载
参考
(string) Crypt::IVCreate()
返回加密类型的正确初始化向量
(string) Crypt::keyCreate()
返回加密类型的正确密钥
(object) Crypt::_get($key,$iv)
返回新对象的构造简写
(object) Crypt::setKey($key)
在运行时更改密钥 返回 $this 以实现链式调用
(object) Crypt::setIV($iv)
在运行时更改IV 返回 $this 以实现链式调用
(object) Crypt::verify()
验证密钥和IV,在出错时抛出异常 返回 $this 以实现链式调用
(string) Crypt::encrypt($plain_string,$base64_encode=true)
- $plain_string 要加密的字符串
- $base64_encode 设置为TRUE则对加密字符串进行base64编码 返回加密的字符串,可选的base64编码字符串
(string) Crypt::decrypt($enc_string,$base64_decode=true)
- $enc_string 要解密的加密字符串
- $base64_decode 如果$enc_string是base64编码的,设置为TRUE 返回精确的原始字符串