.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();
}
啦,要注意一点:有些系统权限比较高或者装了安全软件,读不到这些信息,得提前测试下兼容性。而且采集硬件信息,最好在弹窗或文档里下用途,别让用户觉得你在偷偷摸摸搞事情。
如果你正好在做授权验证、激活码绑定之类的功能,这份源码还挺省事的,直接拿来改改就能用。完整源码可以在这里下载看看。
77.46KB
文件大小:
评论区