加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP对称加密算法(DES/AES)类的实现代码

发布时间:2021-03-15 14:11:50 所属栏目:PHP教程 来源:网络整理
导读:副标题#e# 对称密钥加密机制即对称密码体系,也称为单钥密码体系和传统密码体系。对称密码体系通常分为两大类,一类是分组密码(如DES、AES算法),另一类是序列密码(如RC4算法)。 AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES 是一个迭

private function _pkcs5Pad($text){
$this->blocksize = mcrypt_get_block_size($this->mcrypt,$this->mode);
$pad = $this->blocksize - (strlen($text) % $this->blocksize);
return $text . str_repeat(chr($pad),$pad);
}

private function _pkcs5Unpad($text){
$pad = ord($text{strlen($text) - 1});
if ($pad > strlen($text)) return false;
if (strspn($text,chr($pad),strlen($text) - $pad) != $pad) return false;
$ret = substr($text,-1 * $pad);
return $ret;
}

private function _hex2bin($hex = false){
$ret = $hex !== false && preg_match('/^[0-9a-fA-F]+$/i',$hex) ? pack("H*",$hex) : false;
return $ret;
}

}

使用实例

include "xcrypt.php";

echo '

';
//////////////////////////////////////
$a = isset($_GET['a']) ? $_GET['a'] : '测试123';

//密钥
$key = '12345678123456781234567812345678'; //256 bit
$key = '1234567812345678'; //128 bit
$key = '12345678'; //64 bit

//设置模式和IV
$m = new Xcrypt($key,'cbc','auto');

//获取向量值
echo '向量:';
var_dump($m->getIV());

//加密
$b = $m->encrypt($a,'base64');
//解密
$c = $m->decrypt($b,'base64');

echo '加密后:';
var_dump($b);
echo '解密后:';
var_dump($c);

/////////////////////////////////////////
echo '

';

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读