c++ 单机版授权时间原理

一、方法

        获取电脑的mac地址、系统安装时间、系统版本号、授权时间组成一串注册码,这样可以保证系统可以在某一台PC上安装,在其他PC上安装或者授权时间到期会提示需要重新注册码;

二、思路

        由于我们是单机版不能联网,这样我们无法确定我们获取的时间是正确的(如果用户修改系统时间的话),这样常用的ntp方法就不适用了,那么我们该如何解决呢???

        接下来是我分享的一个思路,也是公司项目要求!!!

c++ 单机版授权时间原理_第1张图片

下面我来详细说明下:

        首先系统启动时,我会在注册表里面写两个时间,系统启动时的注册时间及实时更新的到期时间,刚开始两个时间是一样的,但是到期时间会实时更新(比如一小时更新一次),定时检测到期时间与注册时间差,如果时间差大于授权时间,就会提示软件授权到期;倘如用户修改系统时间,我们会实时比较到期时间与当前系统时间,如果到期时间小时当前系统时间,那么就放弃使用当前系统时间,实时递增的更新到期时间!!!这样就避免用户修改时间还能使用的问题了

 好了。。。有不对的地方还望指正。谢谢

 

你可能感兴趣的:(c++)