数码资讯
AES加密类共享的PHP实现
复制代码代码如下所示: < PHP 类aesmcrypt { 公共$ IV = null; 公共$键= null; 公共$位= 128; 私人密码; 公共功能__construct(合位,美元美元美元的关键,四模式){ 如果(空($位)| |空($键)空($ IV)| | | |空(合模)) 返回n
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
复制代码代码如下所示:
< PHP
类aesmcrypt {
公共$ IV = null;
公共$键= null;
公共$位= 128;
私人密码;
公共功能__construct(合位,美元美元美元的关键,四模式){
如果(空($位)| |空($键)空($ IV)| | | |空(合模))
返回null;
$;
$此键= $键;
美元;
$ $ >模式= $模式;
开关($ - *位){
案例192:美元->密码= mcrypt_rijndael_192;打破;
案例256:美元->密码= mcrypt_rijndael_256;打破;
默认值:美元->密码= mcrypt_rijndael_128;
}
开关($ - >模式){
case'ecb:美元->模式= mcrypt_mode_ecb;打破;
case'cfb:美元->模式= mcrypt_mode_cfb;打破;
case'ofb:美元->模式= mcrypt_mode_ofb;打破;
case'nofb:美元->模式= mcrypt_mode_nofb;打破;
默认值:美元->模式= mcrypt_mode_cbc;
}
}
公共函数加密($ data){
$data = base64_encode(mcrypt_encrypt(美元->密码,美元->关键数据,美元,美元->模式->四美元));
返回$数据;
}
公共函数解密($ data){
$data = mcrypt_decrypt(美元->密码,美元->键,base64_decode($数据),美元->模式->四美元);
$data = RTrim(RTrim($数据), X00 .. x1F );
返回$数据;
}
}
使用方法
AES =新aesmcrypt美元($位= 128,= 'abcdef1234567890美元关键,IV = '0987654321fedcba美元,美元模式= 'cbc);
C =美元美元->加密(AES 'haowei。我);
var_dump($ AES ->解密($ C));
< PHP
类aesmcrypt {
公共$ IV = null;
公共$键= null;
公共$位= 128;
私人密码;
公共功能__construct(合位,美元美元美元的关键,四模式){
如果(空($位)| |空($键)空($ IV)| | | |空(合模))
返回null;
$;
$此键= $键;
美元;
$ $ >模式= $模式;
开关($ - *位){
案例192:美元->密码= mcrypt_rijndael_192;打破;
案例256:美元->密码= mcrypt_rijndael_256;打破;
默认值:美元->密码= mcrypt_rijndael_128;
}
开关($ - >模式){
case'ecb:美元->模式= mcrypt_mode_ecb;打破;
case'cfb:美元->模式= mcrypt_mode_cfb;打破;
case'ofb:美元->模式= mcrypt_mode_ofb;打破;
case'nofb:美元->模式= mcrypt_mode_nofb;打破;
默认值:美元->模式= mcrypt_mode_cbc;
}
}
公共函数加密($ data){
$data = base64_encode(mcrypt_encrypt(美元->密码,美元->关键数据,美元,美元->模式->四美元));
返回$数据;
}
公共函数解密($ data){
$data = mcrypt_decrypt(美元->密码,美元->键,base64_decode($数据),美元->模式->四美元);
$data = RTrim(RTrim($数据), X00 .. x1F );
返回$数据;
}
}
使用方法
AES =新aesmcrypt美元($位= 128,= 'abcdef1234567890美元关键,IV = '0987654321fedcba美元,美元模式= 'cbc);
C =美元美元->加密(AES 'haowei。我);
var_dump($ AES ->解密($ C));
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。