处理器 ID 是否可以用于 AES 加密密钥
本文关键字:AES 加密 密钥 用于 ID 是否 处理器 | 更新日期: 2023-09-27 18:36:57
我正在使用下面的代码来获取处理器 ID:
System.Management.ManagementClass theClass = new System.Management.ManagementClass("Win32_Processor");
System.Management.ManagementObjectCollection theCollectionOfResults = theClass.GetInstances();
foreach (System.Management.ManagementObject currentResult in theCollectionOfResults)
{
MessageBox.Show(currentResult["ProcessorID"].ToString());
}
处理器 ID 是每台计算机的唯一 ID 吗?我想为每台计算机生成一个随机的唯一编号,以用作 AES 加密密钥。我不想使用 MAC 地址,因为我知道 MAC 地址可以更改。
- 处理器 ID 不保证每个 CPU 都是唯一的,也不保证存在。
- 硬件可以更换 - 您无法更改这一事实。
建议:
如果您需要唯一标识计算机 - 可以使用处理器 ID 或 MAC 地址或两者来实现唯一性。(或任何其他硬件相关号码)。但是你必须记住你识别的是硬件 - 而不是用户,所以如果硬件发生了变化,这就像你认识的人进行了整容,现在你不认识他。
如果您需要识别用户(我认为更好),只需让他选择用户名和密码即可。
如果你需要确保只有一个先前识别的用户在使用你的应用程序,并且你担心他会盗版你的应用程序......唯一的方法是有一个服务器/中心点。
这是一个
糟糕的解决方案,因为CPU必须支持CPUID指令,并且系统可能包含多个CPU。