标题 | uc_server增加aes加密保护敏感信息 |
范文 | 对uc_server做了很多的二次扩展,对敏感信息进行了加密处理,其中采用了AES方法加的密,把修改方法分享如下 基于当前数据库安全问题岌岌可危的情形,对于数据库中的敏感信息进行加密显得尤为重要了。由于必要的需求,对uc_server做了很多的二次扩展,也增加了一些需要保护的敏感信息。因此,再次对于敏感信息进行了加密处理,其中采用了AES方法。 方法如下: 修改 model/base.php,在 class base 类的最后面增加如下代码 代码如下: /** * 获得AES密钥以及创建初始化向量(IV) */ private function aes_key_iv($uid=0, $addition='AES-JIAMI-SEA-IMAIJ', $is_iv=false) { $hash_str = "AES-ASEE-{$uid}-SEAAA-{$addition}".($is_iv===false ? "" : "-AESIV-{$uid}-VISEA"); $salt = $is_iv===false ? "KJLHKHGMSBFYGHVGGTHBG56265" : "GJVGKGTIHGKNBK<HGKOGLNFFL4793467"; return md5($salt.md5($hash_str)); } /** * 执行AES加密,强制使用 MCRYPT_RIJNDAEL_256 */ function aes_encrypt($data="artxun_aes", $uid=0, $addition='AES-JIAMI-SEA-MIJIA-IMAIJ') { $cipher = MCRYPT_RIJNDAEL_256; //强制使用AES 256此算法 $key = $this->aes_key_iv($uid, $addition, $is_iv=false); $iv = $this->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); return $aes_result; } /** * 执行AES加密,强制使用 MCRYPT_RIJNDAEL_256 */ function aes_decrypt($data="", $uid=0, $addition='AES-JIEMI-SEA-MIJIE-IMEIJ') { $data = trim(strip_tags($data)); if (empty($data) || <a href="mailto:!@preg_match("~^[0-9a-fA-F]+$~is"">!@preg_match("~^[0-9a-fA-F]+$~is"</a>;, $data)) { return false; } $cipher = MCRYPT_RIJNDAEL_256; //强制使用AES 256此算法 $key = $this->aes_key_iv($uid, $addition, $is_iv=false); $iv = $this->aes_key_iv($uid, $addition, $is_iv=true); $mode = MCRYPT_MODE_CBC; //强制使用加密块模式 $data = @pack("H*", $data); $aes_result = mcrypt_decrypt($cipher, $key, $data, $mode, $iv); $aes_result = str_replace("\0", '', $aes_result); return $aes_result; } |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。