我需要从一台PC生成一个唯一的代码,我的软件将通过许可证分发,在本地我需要识别环境并将此代码发送到服务器。 我不想在服务器上保留一个序列号,每个客户端都接收到一些序列,我试图从NetworkInterfaces读取MAC地址,但是不安全,用户可以轻松更改MAC地址。 我认为最好的方法是可以读取主板的序列号,但直到现在我还没有找到方法。 任何消化?
答案 0 :(得分:9)
您的软件价值多少?
目标市场盗版软件是否很多?
使用WMI的Windows机箱上可以读取主板序列号
使用WMI读取序列号 http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx
使用Java中的WMI http://henryranch.net/software/jwmi-query-windows-wmi-from-java/
如果他们使用组策略,则在AD域上的Windows XP域成员上WMI已损坏。
(这只影响XP的大多数企业用户,所以没什么大不了的)
希望这有点帮助(MAC地址更简单......但很容易改变)
答案 1 :(得分:0)
MAC地址不可靠。 您应该针对无法更改此类CPU ID或HDD IDE ID的内容。 我希望我的意思是:http://www.soft.tahionic.com/download-hdd_id/index.html
不幸的是我不认为DLL正在使用Java,但至少它会告诉你一些关于什么是可靠的和什么不可用的信息。