大多数情况下,我们开发一款小软件,都会有如下需求:

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

基本思路

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,主板,硬盘等信息获取不到注册表键值,也被认为是未注册状态。

转载于:https://www.cnblogs.com/techmango/archive/2012/06/09/2543001.html

生成和验证注册码的基本思路相关推荐

  1. C# 根据机器码生成+验证注册码简单实现demo

    一.界面如下 (1)生成注册码 输入注册码有效期(单位可选择小时.天.月.年)-> 输入机器码 -> 生成注册码 (2)验证注册码 自动读取本地机器码 -> 输入注册码 -> ...

  2. php中短信验证大致流程,实现php手机短信验证功能的基本思路

    现在很多网站为了避免用户烂注册,都在注册环节添加有手机短信验证功能,用户注册时需要短信验证码才可以,那么这种手机短信验证功能是如何实现的呢?其基本思路是什么呢?下面乐信小编就来为大家介绍下: 实现手机 ...

  3. 生成随机验证图片--ASP.NET中常用代码之二

    生成随机验证图片(转载) 使用方法: 1/**////调用函数将验证码生成图片 2            this.CreateCheckCodeImage(GenerateCheckCode()); ...

  4. tp中php验证码程序,thinkPHP 验证码生成与验证

    您现在的位置是:网站首页>>PHP>>thinkPHP thinkPHP 验证码生成与验证 发布时间:2018-12-06 13:34:11作者:wangjian浏览量:842 ...

  5. jwt令牌_JWT –生成和验证令牌–示例

    jwt令牌 JWT提供了一种非常有趣的方式来表示可以验证和信任的应用程序之间的声明. 我的目标是展示一个小的样本,它使用出色的Nimbus JOSE + JWT库来生成和验证令牌. 总览 进行介绍的最 ...

  6. JWT –生成和验证令牌–示例

    JWT提供了一种非常有趣的方式来表示可以验证和信任的应用程序之间的声明. 我的目标是展示一个小的样本,它使用出色的Nimbus JOSE + JWT库来生成和验证令牌. 总览 进行介绍的最佳地点之一是 ...

  7. tp5 JWT生成token验证接口安全、防止高频请求

    1.composer安装 jwt composer require lcobucci/jwt 3.3 2.在extend/tools/jwt目录下创建Token.php文件 注意 extend目录下t ...

  8. (六)区块的生成、验证及挖矿

    转载,作者:Alphabet_666 1. 交易的传播和验证 交易包含两部分:n个输入个m个输出,其中n>=0,m>0 输入=要花费的UTXO+解锁脚本 输出=UTXO(币的数量+锁定脚本 ...

  9. 大话卫星导航中的信号处理系列文章——GPS信号L1频点的中频数据生成与验证

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 大话卫星导航中的信号处理系列文章--GPS信号L1频点的中频数据生成与验证 需求 扩频码的生成 其他 验证 需求 这篇文章,主要记录我 ...

最新文章

  1. 卷积神经网络Convolution Neural Network (CNN) 原理与实现
  2. 绝大部分项目都是跟金融创新、互联网、移动互联网、社区经济、分享经济、互联网金融有关...
  3. linux中怎么删除只读变量,【Linux】【问题集锦】如何删除shell只读变量
  4. 广东工业大学计算机学院研究生招生,蔡瑞初-广东工业大学研究生招生信息网...
  5. php+ksort+返回true,PHP preg_replace函数
  6. android 5.0.1 libdvm.so,Android逆向进阶—— 脱壳的奥义(基ART模式下的dump)
  7. VGG网络结构(二)
  8. 低秩矩阵补全算法matlab实现,推荐系统中的矩阵补全算法
  9. logstash收集java日志,多行合并成一行
  10. java frame_如何在java中建立frame
  11. java图像膨胀_java实现的图像腐蚀、膨胀运算 | 学步园
  12. 手机怎么用外嵌字幕_图片上添加字幕用手机怎么操作?
  13. OpenWRT(四)AP、STA、中继模式
  14. Python解标准数独
  15. 【生活中的逻辑谬误】功利误导和情感误导
  16. 社会性动物(艾略特•阿伦森)
  17. Linkerd 2.11 服务网格Service Mesh 开箱
  18. python实现非标准正态分布下概率密度有关计算
  19. 经典Seq2Seq与注意力Seq2Seq模型结构详解
  20. 2021年安全员-B证找解析及安全员-B证模拟考试题

热门文章

  1. 【正一专栏】曼彻斯特德比落幕——曼城独孤求败继续超神
  2. Java开发-Redis客户端Jedis
  3. html5 长链接,Vue通过WebSocket建立长连接,连接
  4. git钩子放服务器_linux服务器布置git 并带钩子
  5. @EnableAspectJAutoProxy||AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】
  6. 实验15:通过注解分别创建Dao、Service、Controller★
  7. 快速上手RaphaelJS--RaphaelJS_Starter翻译(一)
  8. JavaScript 技术篇-js代码获取当前操作系统信息、浏览器版本信息实例演示,windows NT版本对照表
  9. 【C language】C语言二分法查找
  10. Python基础 基本数据类型