一、设计思路
程序启动
每次启动软件时会读取注册文件,若不存在则提示输入激活码,进行注册。若文件存在,则解析文件验证文件合法性,计算剩余使用期限。
程序激活
为了使每个激活码仅对应一个用户(机器),我们的激活码应当绑定设备,因此应包含MAC地址信息。
激活界面,会显示当前的机器码,机器码根据本机MAC地址通过相应算法生成,因此每个用户的机器码都不同。用户将机器码发送给厂商,厂商根据机器码和使用期限生成相应的激活码,发送给用户,用户输入激活码完成注册。注册后会生成注册文件,文件为二进制加密文件,存放注册日期,使用期限等信息,用户无法直接篡改,且若文件缺失需要重新注册。
二、激活码生成端(厂家端)
生成端界面如下
由一个机器码输入框、一个有效期输入框、一个激活码生成框以及生成按钮组成。
厂家需要输入用户给出的机器码,输入要赋予的有效期限,点击按钮就能生成激活码。
机器码的获取在 验证端(客户端) 中会提及。
(1)密码表
下方为用随机数生成的密码表,建议大家自己重新生成密码表。
uint8_t pwd[256]={
23,95,39,51,15,49,18,20,78,45,24,4,74,113,100,123,
0,37,34,121,127,108,25,37,37,56,20,75,34,8,112,87,
19,117,101,4,24,35,82,107,93,51,95,108,28,33,88,6,
23,26,25,65,84,56,62,33,120,1,65,87,47,51,39,43,
78,23,41,43,95,26,76,50,121,96,75,8,13,24,23,115,
40,99,123,72,52,87,5,81,117,115,42,38,59,26,38,94,
105,28,6,87,18,75,93,107,101,62,19,18,7,37,89,73,
23,92,12,59,46,48,59,10,70,7,81,59,43,77,95,107,
72,66,67,59,48,106,126,120,31,80,105,99,127,9,96,72,
70,27,47,67,32,80,33,64,112,56,13,27,10,71,63,63,
100,59,91,8,1,65,9,35,14,90,71,90,123,37,21,47,
16,62,110,69,39,55,75,30,113,122,53,73,22,29,111,29,
114,89<