生成唯一硬件号

星际 2009-11-24 06:59:45
现在需要根据不同的机器生成一个唯一的序列号,尝试读取了CPU、BIOS、主板、硬盘号
用的using System.Management;中的相关方法,如读取硬盘号:select * from Win32_PhysicalMedia。
1、CPU ID基本上都是重复的,据查貌似Intel从P4开始没有唯一的编号了。
2、BIOS和主板基本上也是重复的,而且读不出来的概率很高。
3、硬盘号:vista及w7下面居然啥也没有。而且xp也有很多没有。
4、MAC地址不适合,用户太容易换网卡了,尤其出了3G。

请问,目前如何根据不同的机器生成唯一标识。貌似能用的都用上了。。。。。

求大伙帮忙,如有解决方案,再重分酬谢。。。。。谢谢。
...全文
224 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuoming120 2009-11-25
  • 打赏
  • 举报
回复
很有意思的问题
[Quote=引用 6 楼 llwinnner 的回复:]
引用 5 楼 alifriend 的回复:
每个硬件都有可能换,不可能有绝对意义的唯一号吧。
用硬盘其实就行了,因为他如果硬盘都换了,资料肯定也要重新整,重新注册便是。


[/Quote]


这个就可以
gdyaojie 2009-11-25
  • 打赏
  • 举报
回复
有没有考虑客户安装到虚拟机的问题? 现在企业越来越多采用虚拟机的模式了.
ndlinjian 2009-11-25
  • 打赏
  • 举报
回复
CPU 好像有唯一标识吧?
bufan2162 2009-11-25
  • 打赏
  • 举报
回复
GUID基本上不会重复。
星际 2009-11-25
  • 打赏
  • 举报
回复
关键是N多机器获得不了硬盘序列号,所以这个方法也是白搭。。。

客户端生成GUID,如何保证下次安装时同一台机器还能生成一样的?
  • 打赏
  • 举报
回复
...没有什么思路,看看其他人的...不过6楼的倒是感觉可以...
zhnzzy 2009-11-25
  • 打赏
  • 举报
回复
GUID可以试试
LutzMark 2009-11-25
  • 打赏
  • 举报
回复
从客户端生成GUID码吧,这个唯一
龙宜坡 2009-11-25
  • 打赏
  • 举报
回复
用硬盘吧!
kofkyo 2009-11-25
  • 打赏
  • 举报
回复
这个问题,我不懂
goldenbull9 2009-11-25
  • 打赏
  • 举报
回复
用硬盘序列号已经足够了,如果读不出序列号,那就用别的一些信息来替代,例如一共分了几个区,每个分区空间大小

实际上靠硬件信息来维护注册收费的办法已经有些过时了……
vssvss 2009-11-25
  • 打赏
  • 举报
回复
支持硬盘列号,如果硬盘都换了 那他的系统也都换了 那不久行了
zhoujk 2009-11-24
  • 打赏
  • 举报
回复
用MS的策略,多做几个硬件的记录,如CPU、硬盘、网卡。然后其中换的硬件少于X个就不管,换X个就视为在新机机上安装,要重新注册
csdn_风中雪狼 2009-11-24
  • 打赏
  • 举报
回复
深海之蓝 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 alifriend 的回复:]
每个硬件都有可能换,不可能有绝对意义的唯一号吧。
用硬盘其实就行了,因为他如果硬盘都换了,资料肯定也要重新整,重新注册便是。
[/Quote]
波导终结者 2009-11-24
  • 打赏
  • 举报
回复
每个硬件都有可能换,不可能有绝对意义的唯一号吧。
用硬盘其实就行了,因为他如果硬盘都换了,资料肯定也要重新整,重新注册便是。
qqzeng-ip 2009-11-24
  • 打赏
  • 举报
回复
硬盘序列号 也容易修改
gisyellow 2009-11-24
  • 打赏
  • 举报
回复
硬盘序列号也不保险,比较硬盘也是可能换的。。主板换的相对少。。
wuyq11 2009-11-24
  • 打赏
  • 举报
回复
很多使用的是硬盘序列号。
wuyi8808 2009-11-24
  • 打赏
  • 举报
回复
可以考虑直接读硬盘的某些扇区的数据。

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧