业务经理

微信扫描以上二维码

028-61286886

技术咨询

后台编辑器加密、解密,前台解密

迅睿框架 更新 2026-09-14 17:08:13 哈哈大王

function my_aes_encode($str, $key, $method)
{
    if ($str === '') return ''; // 空内容直接返回,不加密
    $iv = random_bytes(openssl_cipher_iv_length($method));
    $enc = openssl_encrypt($str, $method, $key, OPENSSL_RAW_DATA, $iv);
    // iv + 密文,base64存储
    return base64_encode($iv . $enc);
}
// AES解密函数
function my_aes_decode($cipher, $key, $method)
{
    if (empty($cipher)) return '';
    $data = base64_decode($cipher);
    if ($data === false) return $cipher; // base64解析失败,原样返回兼容旧明文
    $ivLen = openssl_cipher_iv_length($method);
    if (strlen($data) <= $ivLen) return $cipher;
    $iv = substr($data, 0, $ivLen);
    $c = substr($data, $ivLen);
    $plain = openssl_decrypt($c, $method, $key, OPENSSL_RAW_DATA, $iv);
    return $plain === false ? $cipher : $plain;
}

// 保存前加密
\Phpcmf\Hooks::app_on('news', 'module_content_before', function ($data) use ($aesKey, $aesMethod) {
    $field = 'content';

    // 只处理非空内容
    if (isset($data[0][$field])) {
        $data[0][$field] = my_aes_encode($data[0][$field], $aesKey, $aesMethod);
    }
    return dr_return_data(1, '', $data);
});

config/hook.php 加密实现了,数据库也是加密的密文,在后台编辑时怎么解密。还有在前台怎么解密

方案

  • 社区管理员 #1 · 2026-09-14 17:08:13
    目前cms插件没有预留这方面的选项

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...