获取Windows唯一识别码
我们时常会有唯一认证某台机器的需求,比如在软件注册和激活上,如何保证激活的软件副本和安装机器的对应。很常见的方式是获取一个唯一识别码,并传给后端进行存储。验证时匹配这个唯一识别码即可。
唯一识别码最好和系统无关,这样在用户重装系统后仍然可以激活软件。
以前我们常用的是网卡mac地址,但是网卡mac地址很容易修改,用户也可能有多张网卡并经常更换。
另外一种选择是CPU序列号,但是近年的Intel CPU不再区分同一批次中各个CPU的序列号,这样就有可能两台电脑获得的CPU序列号是一样的。在办公室环境中,由于基本大家电脑都是一批购买,很容易出现一个办公室里所有CPU序列号都一样的悲剧。
最后我选用了微软自己的推荐,也是Win10激活使用的唯一识别码。微软叫它CSP UUID,实际上就是主板识别码。和硬件相关且无法很容易的修改,是最佳的唯一识别码选择。
CMD中可以使用以下命令获取。
1 | wmic csproduct get uuid |
C#参考代码:
1 | using System.Management; |