php史上公认最安全的正反加密解密函数

之前写过一个加解密的文章,也能凑合着使用, 现在为了安全, 用php写了一个triple des(3DES)的正反加解密函数. 3DES是公认的最安全的加密解密函数了,只是可惜的是php没有提供这样现成的函数,于是乎自己写了一个3DES版本的方法,3DES有很多版本,该版本采用的是ECB模式,用PKCS7补码,base64做密文,安全等级高,一般使用该函数只要修改其中的key即可.

测试:
echo (des3crypt( “龙哥博客”,’ENCODE’));
echo “
“;
echo (des3crypt( “bxC46TETFEZFpTS1DClzpg==”,’DECODE’));
echo “
“;

/**
* 加解密函数
* @param $str
* @param $type
* @param $key
*/
function des3crypt($str,$type = ‘ENCODE’,$key = ‘AXNU7SLKJ7HKJm+x4bfBJSJQKde’){
if(empty($str) && $str != 0){
return false;
}
$td = mcrypt_module_open( MCRYPT_3DES, ”, MCRYPT_MODE_ECB, ”);
$key = base64_decode($key);
mcrypt_generic_init($td, $key,’12345678′);
if(strtoupper($type) == ‘ENCODE’){
$str = padding( $str );
$data = mcrypt_generic($td, $str);
}elseif(strtoupper($type) == ‘DECODE’){
$str = base64_decode($str);
$data = mdecrypt_generic($td, $str);
}
//加密
mcrypt_generic_deinit($td);
//结束
mcrypt_module_close($td);
if(strtoupper($type) == ‘ENCODE’){
$data = removeBR(base64_encode($data));
}elseif(strtoupper($type) == ‘DECODE’){
$data = removePadding($data);
}
return $data;
}

//删除填充符
function removePadding( $str ){
$len = strlen( $str );
$newstr = “”;
$str = str_split($str);
for ($i = 0; $i < $len; $i++ ){
if (!in_array($str[$i],array(chr(0),chr(1),chr(2),chr(3),chr(4),chr(5),chr(6),chr(7),chr(8)))){
$newstr .= $str[$i];
}
}
return $newstr;
}

//填充密码,填充至8的倍数,pkcs7 | pkcs5
function padding( $str ,$pkcs = 5){
if($pkcs == 5){
$pad = 8 – (strlen($str) % 8);
$str .= str_repeat(chr($pad), $pad);
}elseif($pkcs == 7){
$len = 8 – strlen( $str ) % 8;
for ( $i = 0; $i < $len; $i++ ){
$str .= chr( 0 );
}
}
return $str ;
}

/**
* http://52blogger.com 龙哥博客版权所有,欢迎转载,转载请务必注明来源,违版必究.
*/

//删除回车和换行
function removeBR( $str ){
$len = strlen( $str );
$newstr = “”;
$str = str_split($str);
for ($i = 0; $i < $len; $i++ ){
if ($str[$i] != ‘’ and $str[$i] != ‘’){
$newstr .= $str[$i];
}
}
return $newstr;
}

文章来源:龙哥博客 原文:http://www.52blogger.com/archives/821

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php史上公认最安全的正反加密解密函数

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡