我正在创建一个具有试用功能的应用程序。为了检测某个用户是否已经使用了试用版,应用程序使用他们的machineHash
.
machineHash
函数如下所示:
string cpuInfo = string.Empty;
ManagementClass mc = new ManagementClass("win32_processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (cpuInfo == "")
{
//Get only the first CPU's ID
cpuInfo = mo.Properties["processorID"].Value.ToString();
break;
}
}
return cpuInfo;
但是,它确实将我的处理器 ID 报告为BFEBFBFF000206A7
(在两台不同的英特尔机器上,i5 和赛扬)。谷歌搜索BFEBFBFF000206A7
也有命中,所以它不是唯一的。
谁能告诉我为什么这不是独一无二的?我不想使用比方说C:\
驱动器的 VolumeSerial,因为它可以通过简单的命令轻松更改。