找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 94|回复: 0

[cms教程] uc_server增加aes加密保护敏感信息

[复制链接]

该用户从未签到

发表于 2018-3-24 17:38:00 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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) || [url=,!@preg_match("~^[0-9a-fA-F,+$~is&quot[/url];, $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;
}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-9-30 09:28

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表