Ale*_*lex 6 c# system-identification
使用C#可以轻松获得什么样的"唯一"系统标识符(用于散列然后唯一地标识系统)?我可以只是哈希硬盘大小和类似的东西,但我需要识别和区分所有由相同组件构建的计算机,所以我不能这样做.
欣赏提示,想法,示例代码!
这是WMI的良好开端......
// Win32_CPU will work too
var search = new ManagementObjectSearcher( "SELECT * FROM Win32_baseboard" );
var mobos = search.Get();
foreach (var m in mobos)
{
var serial = m["SerialNumber"]; // ProcessorID if you use Win32_CPU
}
Run Code Online (Sandbox Code Playgroud)
您可以使用许多硬件来实现这一点,并提出解决方案.
您可以使用System.Management命名空间获取与硬件,ProcessorId,MAC地址相关的所有内容,以及可以随后散列的更多信息.
看看这篇文章:
http://www.codeproject.com/KB/system/GetHardwareInformation.aspx
假设您正在谈论Windows,则每个Windows安装都有一个唯一的产品ID(在查看“我的电脑”的属性时可以看到)。我认为这存储在中HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion:ProductId(REG_SZ)。我认为您想要的还不止这些?