软件项目因易于复制和传播,一旦售出便可能被非法二次销售,迅速在互联网扩散,扰乱正常市场秩序,严重影响企业合法销售与收益。
1、 License模块的类图结构设计
2、 启动一个独立线程用于处理许可证检测任务,由主线程触发该线程执行检查操作,检测结果通过共享变量传递,主程序根据返回结果进行相应处理。
3、 创建密钥对
4、 RSA算法通过生成公钥和私钥实现加密解密,公钥加密数据,私钥解密信息,具体操作步骤如下所示。
5、 加密许可证内容
6、 通过公钥加密生成密文,以文件形式交付客户,项目启动时自动更新许可证文件。
7、 破解许可证
8、 私钥解密后,将明文解析为包含Mac地址、有效期、类型及单位等信息的License对象。
9、 开启监控
10、 模拟主线程启动流程,步骤如下所示
11、 开启监听服务程序
12、 加载并解析license文件,验证其时间有效性。
13、 运行时触发许可证检查,自动发送检测请求事件。
14、 读取静态常量并获取检测结果。
15、 线程状态监测
16、 LicenseThread处于等待阻塞状态,当主线程推送License事件时,触发许可证检测流程。
评论
更多评论