一、前言说明

搞软件开发一直追求精益求精的目标,从第一版的秘钥生成器到今天这个版本,经历了十年的时间,最初的版本做的非常简陋,就是搞了个异或加密,控制运行时间,后面又增加设备数量的控制,然后就是到期时间的限制。这种有个巨大缺陷就是可复制性,如果将授权的秘钥文件,拷贝到其他电脑也是能正常运行的,老板急的哇哇叫,这怎么行呢,于是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编写机器码秘钥控制/日期防篡改/离线使用/硬件标识/运行时间/数量控制/批量更新秘钥的更多相关文章

  1. Qt编写安防视频监控系统18-云台控制

    一.前言 云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂 ...

  2. Qt编写安防视频监控系统(界面很漂亮)

    一.前言 视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅 ...

  3. Qt编写Onvif搜索及云台控制工具

    一.前言 这个工具很早以前大概在2013年就想做了,后面杂七杂八的事情一再耽搁,记得当时最初用的是soap类来搜索和解析的,后面发现太大了,每次编译都要等好久,光源码文件加起来都快10MB了,而且函数 ...

  4. Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)

    一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...

  5. Qt编写自定义控件10-云台仪表盘

    前言 做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程 ...

  6. 使用Qt编写服务器端程序(包括Http传输服务器端)的方法

    使用Qt编写客户端的程序的示例或demo较多,但是编写服务器端程序的demo很少.当然,服务器端的程序一般不需要带界面,这点我们可以理解.不过有些时候我们还是需要使用Qt编写一个简单的测试用的服务器代 ...

  7. Qt编写自定义控件11-设备防区按钮控件

    前言 在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,安防领域一般用来表示防区或者设备,可以直接显示防区号,有多种状态颜色指 ...

  8. Qt编写的开源帖子集合(懒人专用)

    回顾自己学习Qt以来九年了,在这九年多时间里面,从本论坛学习不到不少的东西,今天特意整了一下自己开源过的资源的帖子,整理一起方便大家直接跳转下载,不统计不知道,一统计吓一跳,不知不觉开源了这么多代码, ...

  9. Qt编写自定义控件66-光晕时钟

    一.前言 在上一篇文章写了个高仿WIN10系统的光晕日历,这次来绘制一个光晕的时钟,也是在某些网页上看到的效果,时分秒分别以进度条的形式来绘制,而且这个进度条带有光晕效果,中间的日期时间文字也是光晕效 ...

  10. Qt编写自定义控件65-光晕日历

    一.前言 操作系统的更新迭代速度非常快,基本上三五年就有个新版本出来,WIN10操作系统还是一个比较成功的系统,据说现在市场份额越来越大,XP的份额已经很小,WIN7的份额也在逐步减少,在最新的WIN ...

随机推荐

  1. 001 C#配置多个版本Swagger说明

    1. AddSwaggerGen AddSwaggerGen 是配置多个版本的swagger的关键 Path.Combine 当前项目运行的路径 UseSwaggerUI 主要分为 2 步骤  : 1 ...

  2. kotlin类与对象——>数据类、密封类、泛型

    数据类,用来保存数据的类,使用data对class进行标记 data class User(val name: String, val age: Int) //编译器自动从主构造函数中声明的所有属性导 ...

  3. 关于使用plsql操作oracle的一点小技巧和几个常用的查询语句

    plsql是什么: 就是这个,专门操作oracle的一个工具,好用还免费. 创建一个测试表: create table Student( Id number not null, Name varcha ...

  4. 花生好车基于 KubeSphere 的微服务架构实践

    公司简介 花生好车成立于 2015 年 6 月,致力于打造下沉市场汽车出行解决方案第一品牌.通过自建直营渠道,瞄准下沉市场,现形成以直租.批售.回租.新能源汽车零售,四大业务为核心驱动力的汽车新零售平 ...

  5. JS函数:递归函数与迭代函数

    1.递归函数 : 程序中调用自己的函数 程序调用自身的编程技巧称为 递归( recursion).递归作为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方 ...

  6. Mips单周期CPU设计(logisim实现)

    Logisim单周期cpu设计文档与思考题 设计文档 支持指令集 指令 格式 描述(RTL) 机器码 OPCODE/FUNCT add add rd rs rt GPR[rd] <- GPR[r ...

  7. Dash 2.18.2版本更新:模式匹配回调性能大提升

    本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...

  8. Groovy基础语法!

    Groovy是什么语言? Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python.Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好 ...

  9. Model-Agnostic Meta-Learning (MAML) 理解

    模型不可知元学习(Model-Agnostic Meta-Learning, MAML)的目标是使模型每次的梯度更新更有效.提升模型的学习效率.泛化能力等,它可以被看做一种对模型进行预训练的方法,适用 ...

  10. Lucene 源代码剖析-2 Lucene是什么

    转载自 http://download.csdn.net/source/858994 源地址下是 Word 文档,这里转换成HTML 格式 1           Lucene是什么 Apache L ...