当前位置: 首页 > 站长资讯 > 正文页面

uc_server增加aes加密保护敏感信息

基于当前数据库安全问题岌岌可危的情形,对于数据库中的敏感信息进行加密显得尤为重要了。Iju网站目录_网站网址收录与提交入口

由于必要的需求,对uc_server做了很多的二次扩展,也增加了一些需要保护的敏感信息。因此,再次对于敏感信息进行了加密处理,其中采用了AES方法。Iju网站目录_网站网址收录与提交入口

方法如下:Iju网站目录_网站网址收录与提交入口

修改 model/base.php,在 class base 类的最后面增加如下代码Iju网站目录_网站网址收录与提交入口

/**Iju网站目录_网站网址收录与提交入口

* 获得AES密钥以及创建初始化向量(IV)Iju网站目录_网站网址收录与提交入口

*/Iju网站目录_网站网址收录与提交入口

private function aes_key_iv($uid=0, $addition='AES-JIAMI-SEA-IMAIJ', $is_iv=false)Iju网站目录_网站网址收录与提交入口

{Iju网站目录_网站网址收录与提交入口

$hash_str = "AES-ASEE-{$uid}-SEAAA-{$addition}".($is_iv===false ? "" : "-AESIV-{$uid}-VISEA");Iju网站目录_网站网址收录与提交入口

$salt = $is_iv===false ? "KJLHKHGMSBFYGHVGGTHBG56265" : "GJVGKGTIHGKNBK<HGKOGLNFFL4793467";Iju网站目录_网站网址收录与提交入口

return md5($salt.md5($hash_str));Iju网站目录_网站网址收录与提交入口

}Iju网站目录_网站网址收录与提交入口

/**Iju网站目录_网站网址收录与提交入口

* 执行AES加密,强制使用 MCRYPT_RIJNDAEL_256Iju网站目录_网站网址收录与提交入口

*/Iju网站目录_网站网址收录与提交入口

function aes_encrypt($data="artxun_aes", $uid=0, $addition='AES-JIAMI-SEA-MIJIA-IMAIJ')Iju网站目录_网站网址收录与提交入口

{Iju网站目录_网站网址收录与提交入口

$cipher = MCRYPT_RIJNDAEL_256; //强制使用AES 256此算法Iju网站目录_网站网址收录与提交入口

$key = $this->aes_key_iv($uid, $addition, $is_iv=false);Iju网站目录_网站网址收录与提交入口

$iv = $this->aes_key_iv($uid, $addition, $is_iv=true);Iju网站目录_网站网址收录与提交入口

$mode = MCRYPT_MODE_CBC; //强制使用加密块模式Iju网站目录_网站网址收录与提交入口

$aes_result = mcrypt_encrypt($cipher, $key, $data, $mode, $iv);Iju网站目录_网站网址收录与提交入口

$aes_result = @bin2hex($aes_result);Iju网站目录_网站网址收录与提交入口

return $aes_result;Iju网站目录_网站网址收录与提交入口

}Iju网站目录_网站网址收录与提交入口

/**Iju网站目录_网站网址收录与提交入口

* 执行AES加密,强制使用 MCRYPT_RIJNDAEL_256Iju网站目录_网站网址收录与提交入口

*/Iju网站目录_网站网址收录与提交入口

function aes_decrypt($data="", $uid=0, $addition='AES-JIEMI-SEA-MIJIE-IMEIJ')Iju网站目录_网站网址收录与提交入口

{Iju网站目录_网站网址收录与提交入口

$data = trim(strip_tags($data));Iju网站目录_网站网址收录与提交入口

if (empty($data) || <a href="mailto:!@preg_match(&quot;~^[0-9a-fA-F]+$~is&quot">!@preg_match(&quot;~^[0-9a-fA-F]+$~is&quot</a>;, $data))Iju网站目录_网站网址收录与提交入口

{Iju网站目录_网站网址收录与提交入口

return false;Iju网站目录_网站网址收录与提交入口

}Iju网站目录_网站网址收录与提交入口

$cipher = MCRYPT_RIJNDAEL_256; //强制使用AES 256此算法Iju网站目录_网站网址收录与提交入口

$key = $this-&gt;aes_key_iv($uid, $addition, $is_iv=false);Iju网站目录_网站网址收录与提交入口

$iv = $this-&gt;aes_key_iv($uid, $addition, $is_iv=true);Iju网站目录_网站网址收录与提交入口

$mode = MCRYPT_MODE_CBC; //强制使用加密块模式Iju网站目录_网站网址收录与提交入口

$data = @pack(&quot;H*&quot;, $data);Iju网站目录_网站网址收录与提交入口

$aes_result = mcrypt_decrypt($cipher, $key, $data, $mode, $iv);Iju网站目录_网站网址收录与提交入口

$aes_result = str_replace(&quot;&#92;&#48;&quot;, '', $aes_result);Iju网站目录_网站网址收录与提交入口

return $aes_result;Iju网站目录_网站网址收录与提交入口

}Iju网站目录_网站网址收录与提交入口

 Iju网站目录_网站网址收录与提交入口

  

此文由 网站目录_网站网址收录与提交入口 编辑,未经允许不得转载!:

相关文章