当前位置: 首页 > news >正文

车辆视频检测器linux版对于密码中包含敏感字符的处理方法

由于密码中含有敏感字符,导致前端页面异常,图标变灰,坐标拾取打不开图像等,主要原因是:密码比较前后不一致,左边是Abc_110+,右边是:Abc_110%2B,对于此问题,特别编写了url编码函数,利用Qt的编码方法对所有敏感字符进行统一处理,然后再进行比较,就OK了,注意opencv的rtsp格式符中不能包含敏感字符,但是SDK登录时,还要使用原始密码,所以密码输入时,要按原始密码输入,使用过程中,需要编码的地方用编码。

//检查是否为重复编码
bool isAlreadyEncoded(const QString &str) {
    // 检查字符串中是否存在 % 后跟两位十六进制数字的模式
    QRegularExpression regex("%[0-9A-Fa-f]{2}");
    return regex.match(str).hasMatch();
}
//检查密码中是否含有敏感字符,如果有则进行url编码,如:@转换为%40,+号转换为%2B等
QString safeEncode(const QString &input) {
    if (isAlreadyEncoded(input)) {
        // 如果已经编码,直接返回原始字符串
        return input;
    } else {
        // 如果未编码,进行编码
        return QString::fromUtf8(input.toUtf8().toPercentEncoding());
    }
}

//检测摄像头参数是否改变
bool DataObj_Camera::checkCamParams(){
    if(id<1 || id>8) return false;
        if(cameraparam.getIp()!=gCarDetectorParams.getCameraIP(id)||
            cameraparam.getUsername()!=gCarDetectorParams.getCameraUsername(id) ||
            safeEncode(cameraparam.getPassword())!=safeEncode(gCarDetectorParams.getCameraPassword(id)) ||
            cameraparam.getPort()!=gCarDetectorParams.getCameraPort(id) ||
            cameraparam.getType()!=gCarDetectorParams.getCameraType(id) ||
            cameraparam.getCodec()!=gCarDetectorParams.getCameraCodec(id) ||
            cameraparam.getInputMode()!=gCarDetectorParams.getCameraInputMode(id)||
            cameraparam.getInputChannel()!=gCarDetectorParams.getCameraInputChannel(id)){
        return false;
    }
    return true;
}

相关文章:

  • `uia.WindowControl` 是什么:获取窗口文字是基于系统的 UI 自动化接口,而非 OCR 方式
  • 批量压缩 jpg/png 等格式照片|批量调整图片的宽高尺寸
  • LINUX 5 cat du head tail wc 计算机拓扑结构 计算机网络 服务器 计算机硬件
  • 计算机网络体系结构(一)
  • # 项目部署指南:Flask、Gradio与Docker实现流程
  • Three.js 系列专题 5:加载外部模型
  • STM32cubmax配置STM32407VET6,实现网络通信
  • Kotlin与HttpClient编写视频爬虫
  • SQL122 删除索引
  • MySQL8.0.40编译安装(Mysql8.0.40 Compilation and Installation)
  • 【Git “ls-tree“ 命令详解】
  • # 深入理解GPT:架构、原理与应用示例
  • Nginx搭建API网关服务教程-系统架构优化 API统一管理
  • 【常见高速信号设计与layout注意事项】
  • XML Schema 指示器
  • 说一下分布式组件时钟一致性的解决方案
  • 如何保证mysql和redis的数据一致性
  • Docker快速部署Minio最新版本
  • 【TI MSPM0】CMSIS-DSP库学习
  • vmware虚拟机上Ubuntu或者其他系统无法联网的解决方法
  • 做网站的财务需求/seo推广系统排名榜
  • 青岛网站建设铭盛信息/bt磁力链好用的引擎
  • 河南省城乡住房建设厅网站首页/小型培训机构管理系统
  • 妇科医院网站建设怎么做/seo推广官网
  • 好的 做网站的软件公司/广州优化公司哪家好
  • 百度网站推广找谁做/本地免费发布信息网站