请教一下程序猿朋友们,这个需求咋实现
- 我好像是小号如题目。。。软件批量运行在电脑上面,然后我软件要显示一个序列号嘛,我不可能每台电脑都改一下程序,自定义序列号,然后程序编译程序嘛,这样太不程序猿了
我的想法这个序列号是根据电脑上面某个硬件ID,用一定算法生成唯一序列号。
现在问题是这样的,电脑某个硬件ID是长度20位,由字母跟数字组成。
但是电脑上面这个硬件批量出厂,有的这个长度20位的ID只差一个数字或者一个字母,非常接近。
我想把这个20位的字符通过一定算法生唯一固定的八位序列号。
但是如果硬件ID太接近,生成的序列号就一模一样了,请问一下有啥好思路嘛? iOS fly ~ - 无风而动算法生成的时候校验下?如果已经存在这个id了,重新生成一个
- 4color那是你算法不行
- guchg算个md5,长度就一样了,再随便变变变
- Inorvise写一个类似md5的散列算法,或者就用md5,然后对结果进行截取。 iOS fly ~
- bullestHash函数不能满足需求吗?
- awkMd5后 取 某 8位
- mijuumac地址吧? fnv1a的hash散列在连续值的平均分布里有比较好的效果
- wflovehash,另外,我司的设备授权都是用网卡的MAC的
- 我好像是小号
- awk一个局域网两块网卡相同的MAC就不能联网啦
- wflove当然可以,但是方便不是?就你那点量,谁琢磨授权方法,网卡好处是不怎么坏,一般也不会有人换网卡
- xx6412223摘要算法
- ynr取多几个硬件ID,做两次hash,再做你算法的种子,出现同序列号的概率就极低了
如果不要求序列号与硬件绑定,各种语言运行库中的随机数发生器给你的算法做种子就行 - 寒冰炫根据cpu,硬盘,网卡等等硬件id,通过一定的算法生成一个唯一的序号,不要只取一个硬件id,多取几种
这个需求很简单 - songcoHash 一下呗,别用md5,用sha
8位感觉有点短 ~ I have spoken - Alpha00SHA-1吧。计算结果就是20字节,每个字节转换为一个字符 iOS fly ~
- lastmandream方案太多了
随便获取一个硬件的id就行
这个容易被破解,最好还是想办法网络验证