C#-winform程序如何限制使用次数和生成注册码

UI设计界面 UI设计界面 主题:1059 回复:2190

C#-winform程序如何限制使用次数和生成注册码

甜柠檬 发布于 2016-11-16 字数 135 浏览 1181 回复 1

开发一款小软件,想限制试用版的使用次数。并且当注册后,怎样才能一个注册码对应唯一一台电脑,不能重复使用注册码,在不同电脑上注册。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

泛泛之交 2017-10-03 1 楼

1.当程序首次运行时,在注册表中新建一个键,如limit,键值则存放一个数字,用于限制试用版的使用次数,试用程序用一次则递减一次,注册过的程序不需要检查这个值。
2.如果生成注册码的要求不是非常严格,可以随机生成数字加字母组合的字符串,通过正则进行匹配,如[0-9]{2}[A-Z]{3}-[0-9]{3}[A-Z]{2}-WYEU0-8989P。生成后放注册表,如,键SequenceNumber,值就是生成的注册码。
3.为了能在不同电脑上注册, 用ManagementObjectSearcher取cpu,主板,硬盘等信息,生成一个字符串,做为一个注册表新键,键值则是放入进行对称或不对称加密了的注册码。
4.做验证时,通过cpu,主板,硬盘等信息获取加密了注册码的值,再将其解密,通过与SequenceNumber里的注册码进行比较后,如果发现相等,则验证通过,否则不通过。最后用正则[0-9]{2}[A-Z]{3}-[0-9]{3}[A-Z]{2}-WYEU0-8989P对注册码进行匹配,匹配成功则通过,失败则不通过。另外,通过cpu,主板,硬盘等信息获取不到注册表键值,也被认为是未注册状态。