当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>同享软件注册部份的简单实现</b>[VC/C++编程]

赞助商链接



  本文“<b>同享软件注册部份的简单实现</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

目前,很多同享软件中利用注册码来实现对软件的保护.所谓注册码,就是一组与用户的某些特定信息(如用户名称、计算机硬件等等)相关的字符串.由于注册码传输起来对比简单,同时简单考证(相关于磁盘、光盘指纹等),因此目前注册码的利用越来越遍及,乃至一些商业软件,如Windows XP也利用了近似的机制(Microsoft称为Windows Product Activation).

谈起注册码,就不能不提注册器.注册器是用来产生注册码的程序,其计算逻辑普通与受保护的利用程序一致.通过与受保护利用程序相同,或预先约定的计算逻辑得到的注册号,将决意受保护利用程序的行为,如显示“软件未注册”、禁用某些功效,或在“关于”对话框中显示注册者的姓名,等等.

此中,终究用户通过某种方法提交其注册信息,比方他(或他所在的组织)的名字,乃至极度一些,供应某些可以肯定某人身份的信息,如Pentium III CPU的CPU ID,硬盘的序列号,网卡的MAC地址等等.然后,注册服务器,或呼唤中央的服务人员按照用户供应的信息,计算一个注册号,并奉告终究用户.

普通,由于人工操作大概造成不对,我们但愿注册历程由计算机自动实现.不过这就带来了一个问题:用户凭什么相信我们的程序并不会泄露他的个人隐私呢?针对这一问题,目前风行的做法是供应若干选项,此中包含电话注册,网络注册,以及平信注册等等,并把程序提交的内容奉告用户.

此外,某些与用户的电脑相关的信息,如配置等等,不宜利用明文传送.这一方面是由于用户大概不肯意将这些信息泄露给我们,另一方面是以明文传送信息大概会招致第三方(如cracker)截获信息.目前对比风行的办法是把那些我们并不需求,但却决意用户身份的信息用某种散列算法举行编码然后再发送.当然,在发送历程中我们可以利用SSL加密,大概其他一些办法来保证安全,由于与本文的主要内容关系不大,在此不赘述,读者可参考相关书籍.

需求保密的用户信息→ 散列算法 → 安全传输(如SSL) →服务器

就笔者个人的经验,计算注册码和考证注册码利用差别的算法,可以在一定程度上提高注册历程的安全性.当然,任何安全办法都不大概保证不被解密,“世界上没有打不开的锁”,解密只是一个时间问题,在构造注册码算法的时刻,只要让解密代价大于软件代价便可,没必要做得太复杂.

作为用户而言,无论是用什么注册方法,他都不但愿过于复杂.通过计算机直接注册的方法无疑是最便利的,但很多用户大概不肯意这样做.作为用户来说,通过电话注册这种方法,说出自己的注册ID(普通包含了产品ID、用户的名字等信息),以及输入注册码应当是各种注册方法中最麻烦的一种.

注册ID和注册码应当具有以下特点:

(1)便于辨认、输入.注册码不是密码,没有必如果用大量的特别标记、大小写组合.因此,注册码和注册ID中不该该包含差别大小写的字母,以及简单混合的数字(1-I,0-O,2-Z).

(2)具有查错本领.统计证明,输入注册码时,错序(如把1234输入成1243)、击键错误是最常见的错误.对比常用的办法是把注册码分成若干节,每节包含一个校验码,这样注册码就具有查错本领了.

为了表现上面的要求,我构造了一个这样的算法:

(1)计算输入的用户名,并按照下面的法则计算和:

设后果为a,预置为0

按次序取用户名字符串的每一个字符的ASCII值,乘上位号,累加到a上.

比方:

J a s o n   L i

1 2 3 4 5 6 7 8

这样,a=(char)’J’+((char)’a’)*2+((char)’s’)*3+...
  以上是“<b>同享软件注册部份的简单实现</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .