1
52
一些好的标识符:
|
2
20
如果你在windows上
|
3
11
这个问题的真正答案是:没有这样的事情。 有几种“足够接近”的解决方案,但每一种都有自己的局限性。 所有硬件ID-硬件更改。而且,在许多情况下,您可以更改这些标识符(例如,MAC欺骗)。 我已经说过,SID也不是很好,因为如果计算机是从映像安装的,SID不会改变。SID是由windows安装生成的,如果没有安装windows,而是从映像中复制的,则SID不会更改(尽管由于 myth about "security risk" 计算机名——如前所述,它们应该是唯一的,但并没有以任何方式强制执行。 您可以实现的另一个解决方案是生成您自己的唯一标识符并将其存储在本地(假设您可以这样做)。同样,如果您的计算机与应用程序一起成像,此解决方案将不起作用。 对你来说,最好的解决方案实际上取决于你想要完成什么。 我在一个相当大的网络上也遇到了同样的问题,最好的解决办法就是计算机名。 如果您绝对确定您的进程不会被映像,我将使用Guid生成一个唯一标识符,因为它可能是最安全的。 |
4
9
使用System.Management 要获取Win32\u BIOS,可以从计算机的BIOS获取唯一值。 请参阅:Win32\u BIOS类, http://msdn.microsoft.com/en-us/library/aa394077.aspx
http://msdn.microsoft.com/en-us/library/aa394132.aspx 并获取每个实体驱动器的“序列号”。在这种情况下
|
5
6
取三个半唯一和半常量的标识符。使用三分之二就足以证明身份的规则。更新偶尔出错的三分之一的注册数据。 |
6
2
使用网卡的MAC地址。它应该是独一无二的。不过,这是可以改变的。这取决于你期望你的用户有多恶意,以及你的应用程序有多重要。 一些示例代码:
|
7
1
你可以使用任何网络接口的MAC。您还可以组合多个信息源。像HDD序列号,mac,处理器类型来计算散列。 |
8
0
我认为不可能在同一个域上有两台同名的PC。你试过捕获域名吗? |
10
0
每台计算机都有一个在正常情况下唯一的SID。 |
11
0
你创造了 但也有一些缺点。
一些(许多?)制造商提供了一个实用程序,允许您设置
资产标签
存储在固件中的。这可能是一个可引导的实用程序,也可能在Windows中运行,甚至可能内置在固件设置中。这个“标签”是一个任意的文本字符串,你可以设置为任何你想要的,然后读回来使用
WMI
赞成的意见:
欺骗:
|
12
0
我们使用
因此,这种情况值得考虑。
还要记住
|
13
-1
http://www.vcskicks.com/hardware_id.php 将此dll添加到引用
对于CPU ID:
对于硬盘ID(卷序列号):
|
Tsar Bomba · MySQL存储过程where子句不过滤记录 7 年前 |
sjb-sjb · 正在保存系统。注释或系统。uwp中的主题文件属性 7 年前 |
soomon · 不是主键的实体框架外键 7 年前 |
Greeso · 正在检索DOM元素的ID/GUID 7 年前 |
Kershaw · 使用guid比较从foreach到linq 7 年前 |
toshniba · mysql中非utf8列的建议字符集 7 年前 |
Abhijeet Ahuja · js中基于种子字符串的相同uuid 7 年前 |
artganify · 生成简短的唯一标识符[已关闭] 8 年前 |