裂缝检测
机器码⽣成
如果我们希望注册码只能在⼀台电脑上使⽤,那就需要⽣成⼀个机器码。把机器码交给开发者,开发者经过⼀系列的运算之后,返回⼀个注册码。这个注册码已经包含了机器信息,只能⽤在⼀台电脑上。 机器码可以从很多硬件信息上得到,例如是MAC地址、磁盘ID、CUP序列号等。但这些信息有⼏个问题: 摇臂
(1)不⼀定唯⼀,很多同个型号的电脑,硬件信息都是⼀样的。钨铜电触头
悬浮床(2)不⼀定存在。例如没有⽹卡,MAC地址就⽆从谈起。
(3)会被改变。更换硬件当然是⼀个⽅⾯,但即使没有更换硬件,有时候硬件信息也会改变。
虚拟地震台网上⾯的问题,2、3其实都不是很重要,⼤不了重新注册⼀遍,问题1是最严重的。在⼀些公司⾥⾯,电脑是统⼀采购的,硬件信息重复的概率很⾼。
当然,我们可以综合⼏个硬件信息,但也不能保证不会出现重复。
可以使⽤⼀种“软”的⽅法来获取硬件信息。就是我们软件在第⼀次运⾏时,⽣成⼀个随机数,保存在⼀个不容易被发现的地⽅(例如是注册表,或者是⼀个隐藏的⽂件)。我们并不需要保证⽤户⽆法修改,我们是允许⽤户修改的。只是修改之后,⽤户就需要重新注册⼀遍软件。
对于真正的硬件信息,我们还看到⼀个问题,就是硬件信息的长度不⼀定是我们需要的。例如MAC地址是6个字节的,⼀般显⽰出来是12个字符。如果我们希望机器码是8个字符呢?
其实我们可以先求出硬件信息的MD5值,然后截取MD5字符串的若⼲位。
万维视频网