设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2021-03-15 09:15 所属栏目:121 来源:网络整理
导读: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),$p

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 '

';

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

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读