现在做一款运行在局域网内的程序,客户端运行不同软件,同一数据库。1、得到用户计算机机器码(硬盘呀、网卡呀等)
2、通过机器码生成器生成注册码
3、第一次软件运行时录入注册码,把注册码写入到数据库
4、每次运行软件读取数据库注册码,解密判断注册码内包含的信息和用户注册信息是否一致,不一致提示用户重新注册。现在有疑问,把注册码放到数据库好呢还是放到本地生成支注册文件好点?或者还有其他方法?使用硬盘C盘ID,和网卡MAC做机器码是否合适?

解决方案 »

  1.   

    反正硬盘id、主板id、mac地址这些都可以伪造。一切硬件特征在虚拟化的时代都可以用软件模拟出来。你做的也就是防君子而已。
      

  2.   

    把注册码放到哪里,是根据自己的需求,如果你今后不对注册码进行管理,当然可以放在本地,否则最好放到数据库。
    硬盘C盘ID,和网卡MAC做机器码勉强可以。但是这些注册码今后都有可能发生改变。
      

  3.   

    我是这样做的, 管他什么硬件统统读取一通, 买了个60块一年的网站空间, 还赠送了个数据库,
    这个空间上运行着一个webservice  客户端启动的时候,获取到自己的硬件码,  然后调用webservice上的方法验证这个硬件码的剩余时间, 然后返回 客户端根据这个返回值执行下一步操作
      

  4.   

    客户计算机是没有网络的,想生成“D64GG-GXY6T-V6FTR-WCPBB-2YDYB”这种要是的注册吗,和验证码!这样比较简单,可以发短信给客户,普通的太长容易输错。