首页 > 其他分享 >Qt编写机器码秘钥控制/日期防篡改/离线使用/硬件标识/运行时间/数量控制/批量更新秘钥

Qt编写机器码秘钥控制/日期防篡改/离线使用/硬件标识/运行时间/数量控制/批量更新秘钥

时间:2024-12-23 10:24:36浏览次数:3  
标签:限制 Qt 离线 开启 秘钥 机器码 时间 运行

一、前言说明

搞软件开发一直追求精益求精的目标,从第一版的秘钥生成器到今天这个版本,经历了十年的时间,最初的版本做的非常简陋,就是搞了个异或加密,控制运行时间,后面又增加设备数量的控制,然后就是到期时间的限制。这种有个巨大缺陷就是可复制性,如果将授权的秘钥文件,拷贝到其他电脑也是能正常运行的,老板急的哇哇叫,这怎么行呢,于是V2.0又增加了机器码的功能,最开始做的windows版本,后面遇到用户又需要linux和mac系统运行,不断增加了对应的唯一机器码的识别。这样就拷贝无法运行,必须一台机器对应一个秘钥,可是后面又发现写死也不行,所有又加了开关,可以开启是否启用机器码限制。

陆陆续续完善和验证了很多年,总体效果挺好,近期又有新的需求,那就是希望能够控制到期时间后限制部分功能,而不是不能运行,比如到期后视频右下角加上水印,用户还可以将过期的秘钥文件发过来,更新秘钥延长试用期限,这样就非常完美了。而且整个秘钥认证都是独立的静态函数,集成机器方便,就几行代码就行。

二、应用场景

  1. 授权软件在唯一的机器设备上运行,拷贝无法运行。
  2. 授权软件试用时间,比如试用到2025-01-01就结束,到期无法运行。
  3. 授权软件运行时间,比如每次只能运行30分钟,到了时间无法运行,需要再次启动程序继续运行。
  4. 控制软件里面添加的设备数量,比如控制摄像头设备最大10个,超过10个则需要购买授权。
  5. 控制软件到期功能限制,比如尾款到账日期2025-01-01,则设置功能限制日期2025-01-01,到了对应日期,软件能够运行,但是功能受限,比如视频画面出现水印等。
  6. 日期防篡改,比如用户发现试用时间或者到期功能限制时间到了,手动修改电脑时间到之前的时间,能够立即识别并弹出提示时间不正确,需要重新授权,并且可以控制再也无法运行,需要重新授权。
  7. 各种功能可以分别开启、不开启、全部开启等,开启了的功能自动应用。
  8. 可以批量分发秘钥文件,只控制试用时间,也可以限定唯一机器码,指定唯一一台设备运行。
  9. 远程批量搜索和更新秘钥,同一个局域网,多台设备的秘钥到期,一键搜索后,统一一键更新授权时间。比如尾款到账后,需要重新授权,让软件完全正常运行。批量搜索和更新的话,就不用手动去一个个拷贝秘钥文件。
  10. 不仅要支持windows,还要能支持linux,苹果macos,国产操作系统等。

三、功能特点

  1. 多种开关开启不同的秘钥功能限制。
  2. 可以开启机器码限制,一机一码,一台设备对应唯一的一个机器码,自动获取机器码和秘钥文件的机器码核对。
  3. 可以开启到期功能限制,超过了指定的日期后,对运行功能增加限制,比如视频上增加水印。程序还可以继续运行,只是功能有限制。
  4. 可以开启到期时间限制,到了指定的日期后,弹出到期提醒,自动关闭程序,程序无法继续运行。
  5. 可以开启运行时间限制,比如指定程序只能运行30分钟,每次打开程序后,运行30分钟,自动关闭程序,再次打开程序,还可以继续运行30分钟。
  6. 可以开启最大数量限制,比如设置最大数量5,则该软件中可以检测添加的设备数量是否超过5个,超过则不允许继续添加。
  7. 功能限制可以选择一种或者多种,满足各种需求场景。
  8. 内置防日期时间篡改功能,自动记忆秘钥写入时间和秘钥正常运行时间,一旦检测到电脑时间被篡改,程序无法打开,自动关闭程序。运行期间也会自动检测。
  9. 支持自动检测读取秘钥文件,如果存在到期日期或者到期时间限制,自动显示剩余天数。
  10. 多重加密算法,无法解密和破解。控制端可设定私有的加解密秘钥。
  11. 离线使用,无需联网,方便在各种离线设备使用。
  12. 同时支持windows、linux、mac系统,支持所有Qt版本。

四、效果图


五、相关地址

  1. 文件地址:https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A 提取码:o05q 文件名:bin_key.zip
  2. 国内站点:https://gitee.com/feiyangqingyun
  3. 国际站点:https://github.com/feiyangqingyun

标签:限制,Qt,离线,开启,秘钥,机器码,时间,运行
From: https://www.cnblogs.com/feiyangqingyun/p/18623318

相关文章

  • Linux 离线安装 Docker
    1、下载Docker下载地址:https://download.docker.com/linux/static/stable/x86_64/2、将压缩包上传到目标服务器,解压压缩包。3、执行如下命令卸载旧版dockeryumremovedocker*4、将解压的所有文件拷贝到/usr/bin目录下cpdocker/*/usr/bin/5、将docker注册为系统服务......
  • ubuntu20.04 RTKLIB QT版构建流程记录
    rtklib是GNSS领域有名的开源软件,在此记录成功构建QT版的步骤。0系统信息话不多说,首先上一张neofetch图展示系统信息。我的系统是Ubuntu20.04.6,其他系统版本暂未尝试。1打开qtcreator由于系统安装了多个qtcreator,从终端打开QtCreator4.11.0之所以强调Creator版本,是因......
  • pyqt5之网格布局
    解决fromPyQt5importQtCorefromPyQt5.QtWidgetsimport*classDemo(QWidget):def__init__(self,parent=None):#这行代码调用了QWidget类的构造函数,以确保Demo类正确地继承了QWidget的属性和方法#初始化父类属性super(Demo,sel......
  • pyqt5线程龟兔赛跑
    哈哈哈#-*-coding:utf-8-*-#Formimplementationgeneratedfromreadinguifile'龟兔赛跑.ui'##Createdby:PyQt5UIcodegenerator5.15.9##WARNING:Anymanualchangesmadetothisfilewillbelostwhenpyuic5is#runagain.Donoteditt......
  • QT多媒体开发(二):播放音频
    简介QMediaPlayer可以用于播放经过压缩的音频文件,如MP3文件和WMA文件。QSoundEffect可以用于播放低延迟音效文件,例如无压缩的WAV文件。这两个类都可以用于播放本地文件和网络文件。QMediaPlayer与播放音频相关的接口函数如下:voidsetAudioOutput(QAudioOutput*o......
  • Python创建图形用户界面(GUI):PyQt
    一、PyQt 简介定义PyQt 是一个用于创建图形用户界面(GUI)的 Python 库。它是 Qt 库的 Python 绑定,Qt 是一个跨平台的 C++ 库,广泛用于开发 GUI 应用程序、游戏开发、嵌入式系统等众多领域。PyQt 允许 Python 开发者利用 Qt 强大的功能来构建具有丰富交互性的......
  • Pyqt6在lineEdit中输入文件名称并创建或删除JSON文件
    1、创建JSON文件代码importosdefaddModulekeyWordFile(self):if""!=self.lineEdit_module.text():moduleFile=self.lineEdit_module.text()+'.json'else:self.toolLogPrinting('请输入模块名称')returnfile......
  • QT网盘笔记(日志,qss,加密)
    前言:本章为本人在学习QT网盘时学到的知识,在此记录。一、QT日志1、前因(1)网盘服务端需要记录每一个登陆者登录的时间,账号名,在遇到除操作错误的错误时候会统计到日志中,同时客户的意见反馈也写入其中。(2)加上互斥锁防止多线程写入时混乱。2、互斥锁    (1)定义:在多......
  • 【Qt编程入门】
    目录【调试信息】【帮助文档】【项目结构】项目配置文件(.pro):用户文件(.user):主文件(main.cpp):头文件(.h):源文件(.cpp):【目录说明】构建目录:工作目录:【项目创建指南】特点:Qt在软件开发中的应用极为广泛:纯软件开发:Qt被广泛应用于开发各种桌面应用程序,如WPSOffice、暴......
  • 安卓秘钥的获取+解密流程
    安卓秘钥的获取‍注意:改文章原文链接:https://www.freebuf.com/articles/database/375523.html抄一遍,脑瓜子有点记忆。1、原理图​​2、视频解密方法根据上述原理,只要我们能拿到CDM、抓到license服务器请求url,即可构造解密请求报文,获得解密key。但CDM作为播放器的预置模块,没......