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 ' ';
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|