.NET基于CPU与硬盘信息的机器码生成

用 CPU 和硬盘信息生成机器码的源码,挺适合做授权绑定那一套的。你要是用 C#开发软件,想搞点防盗版的机制,这套源码还蛮值得一看。思路就是通过 WMI 拿到CPU 序列号硬盘 ID,组合起来再做点加工,比如哈希一下,生成一串唯一的字符串,拿来当机器码用。

源码结构比较清晰,调用ManagementObjectSearcher类就能抓到硬件信息,像这样:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject obj in searcher.Get()) {
  string cpuSerial = obj["ProcessorId"].ToString();
}

硬盘这块的也差不多,换下查询对象就行了,查Win32_DiskDrive

ManagementObjectSearcher diskSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject disk in diskSearcher.Get()) {
  string diskSerial = disk["SerialNumber"].ToString();
}

啦,要注意一点:有些系统权限比较高或者装了安全软件,读不到这些信息,得提前测试下兼容性。而且采集硬件信息,最好在弹窗或文档里下用途,别让用户觉得你在偷偷摸摸搞事情。

如果你正好在做授权验证、激活码绑定之类的功能,这份源码还挺省事的,直接拿来改改就能用。完整源码可以在这里下载看看。

rar 文件大小:77.46KB