机器码生成注册码教程.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器码生成注册码教程

同一般的软件注册一样, 我们这里的注册是这样进行的: 1. 首先根据用户的硬件信息生成24位的机器码 ????? -- 相当于种子,用于生成随机数 ??? 2. 采用注册机根据特征数字生成一个24位注册码 ????? -- 相当于伪随机数生成器, 输出长度自己定, 最后用一个格式化函数,将随机数映射到ASCII字符集合 ??? 3. 用户输入注册码注册成功 假设客户很喜欢您的软件, 也假设他没有破解, 他需要通过以下方式向您取得注册码: (1).如果他能上网, 他需要把机器码用Email发给您; (2).如果他不能上网, 他可以把机器码用手机短信的方式发给您. (3).如果他没有手机, 他可以带着机器码然后坐火车到您的办公室想您要一个注册码. ?? --第3条只是为了让您看帖子的时候别太枯燥了, 抱歉. 现在, 您拿到了客户的机器码后, 如果您同时也收到了他汇的钱, 呵呵, 好像给软件加密就是为了要钱吧? 那么您就可以用客户的机器 码生成一个唯一的注册码再用同样的方式给用户, 最后, 用户输入注册码即可! 需要强调的是客户机器的硬件信息获取方式是有很多种选择的. 这里我们选择最放心的两个硬件: CUP的序列号和硬盘的卷标号. 好了, 下面您就可以一步一步制作一款软件注册机了. 步骤一: 获得CUP序列号和硬盘序列号的实现代码如下: Java代码 #region 获取cpu的序列号?? public string getCpu()?????????? {?????????????? ???? string strCpu = null;???????????? ???? ManagementClass myCpu = new ManagementClass(win32_Processor);?????????????? ???? ManagementObjectCollection myCpuConnection = myCpu.GetInstances();?????????????? ???? foreach( ManagementObject myObject in myCpuConnection)?????????????? ???? {?????????????????? ????????? strCpu = myObject.Properties[Processorid].Value.ToString();?????????????????? ????????? break;?????????????? ???? }????????????? ???? return strCpu;?????????? }?? #endregion #region 获取cpu的序列号 public string getCpu()??????? {??????????? ???? string strCpu = null;????????? ???? ManagementClass myCpu = new ManagementClass(win32_Processor);??????????? ???? ManagementObjectCollection myCpuConnection = myCpu.GetInstances();??????????? ???? foreach( ManagementObject myObject in myCpuConnection)??????????? ???? {??????????????? ????????? strCpu = myObject.Properties[Processorid].Value.ToString();??????????????? ????????? break;??????????? ???? }?????????? ???? return strCpu;??????? } #endregion Java代码 #region 获取设备硬盘的卷标号?? public string GetDiskVolumeSerialNumber()?????????? {?????????????? ????? ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration);????????????? ????? ManagementObject disk = new ManagementObject(win32_logicaldisk.deviceid=\d:\);????? ????? disk.Get();???

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档