所谓注册码,其实是一种验证机制,有很多种实现
1. 最简单的,写死的实现,有一个可通过数据库(注册码表),在程序中验证输入是否在内
2. 一种规则验证,输入的注册码,通过某种规则处理(计算后),符合某个结果表
3. 结合网络的验证,采用1或者2的方式,不过验证不是本地,而是网络某个服务
4. 在1或者2基础上,再和本地设备信息结合
5. 在4的基础上添加网络验证部分
直接在程序执行前添加一个密码判断,也就是注册码,不过这样客户还是可以复制软件,只是其他客户不知道密码
你也可以通过计算机的硬盘id添加注册码。也就是通过id算出来一个密码,比如用base64计算,这样每台电脑对应不同密码,不过距离注册码算法可以复杂一些,不一定要用base64这种算法,可以在添加一下算法增加复杂度,程序运行时,通过解码来配对注册码是否正确来执行软件
一般来说,有几种:
1、固定的注册码,你要求每次运行前输入特定字符才能继续,这种最简单。
2、一次性输入,可以在文件夹下或者注册表里生成一个文件,每次读取这个文件,读不到就要求输入。
3、定期输入,根据时间匹配,检测文件是否符合要求,不符合需要重新输入。
4、根据网卡mac地址、cpu号、硬盘号等相对固定值生成匹配文件,方式与上面相同。具体编码规则由你自己定义,比如按位取反。
就是读取硬件的串号,如CPU的,硬盘的
再进行加密算法处理加密这部分数据。注册时,可以使用解码算法看看是不是一样的。