对uc_server做了很多二次扩展,加密了比较敏感的信息。其中采用AES方法加密,修改方法分享如下。
针对当今的服务器安全问题,对数据库查询中的敏感信息进行加密显得非常重要。因为必要的需求,uc_server做了很多二次扩展,也推广了一些必须维护的敏感信息。因此,再次执行敏感信息的加密解决方案,其中选择了AES方法。
方法如下:
更改model/base.php,在类基类的最终表面升级以下代码。
复制代码如下:
/**
*获取AES密钥并建立reset空
私有函数AES_key_iv($uid=0,$addiquotAES-ASEE-{$uid}-SEAAA-{$addition}&;quot。($is_iv===false?&quot&quot:&quot-AESIV-{$uid}-VISEA&;quot);
$salt=$is_iv===false?&quotkjlhkhgmsbfyghvggthbg56265&;quot:&quotGJVGKGTIHGKNBK<HGKOGLNFFL4793467"
returnMD5($salt.MD5($hash_str));
}
/**
*实现了AES加密,Mcrypt_Rijndael_256
*/
函数AES_Encrypt($data=";artxun_aes&quot,$uid=0,$addition='AES-JIAMI-SEA-MIJIA-IMAIJ')
{
$cipher=MCRYPT_RIJNDAEL_256;//强制应用AES256this优化算法
$key=$this->;aes_key_iv($uid,$addition,$is_iv=false);
$iv=$this-&;gt;aes_key_iv($uid,$addition,$is_iv=true);
$MODE=MCRYPT_MODE_CBC;//强制加密块模式
$AES_result=mcrypt_encrypt($cipher,$key,$data,$mode,$iv);
$AES_result=@bin2hex($AES_result);
返回$aes_result
}
/**
*实现了AES加密,Mcrypt_Rijndael_256
*/
函数AES_decrypt($data=";&quot,$uid=0,$addition='AES-解蜜-海-解蜜-IMEIJ')
{
$data=trim(strip_tags($data));
if(empty($data)||<;ahref="mailto:!@preg_match(&;quot~^[0-9a-fa-f]$~是&quot">!@preg_match(&;quot~^[0-9a-fa-f]$~是&quot</a>;;,$data))
{
返回false
}
$cipher=MCRYPT_RIJNDAEL_256;//强制应用AES256this优化算法
$key=$this->;aes_key_iv($uid,$addition,$is_iv=false);
$iv=$this-&;gt;aes_key_iv($uid,$addition,$is_iv=true);
$MODE=MCRYPT_MODE_CBC;//强制加密块方法
$data=@pack(";H*&quot,$data);
$AES_result=mcrypt_decrypt($cipher,$key,$data,$mode,$iv);
$AES_result=str_replace(&;quot&#92;&#48;&quot,'',$AES_result);
返回$aes_result
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)