我需要从单个计算机生成一个唯一的代码,我的软件将通过许可证进行分发,并且在本地我需要识别环境并将此代码发送到服务器。 我不想在服务器上维护一个顺序号,并且每个客户端接收一个序列号。我尝试从NetworkInterfaces读取MAC地址,但这不安全,用户可以轻松更改MAC地址。 我认为最好的方法是如果可以读取主板序列号,但是直到现在我还没有找到方法。 有什么建议吗?
我需要从单个计算机生成一个唯一的代码,我的软件将通过许可证进行分发,并且在本地我需要识别环境并将此代码发送到服务器。 我不想在服务器上维护一个顺序号,并且每个客户端接收一个序列号。我尝试从NetworkInterfaces读取MAC地址,但这不安全,用户可以轻松更改MAC地址。 我认为最好的方法是如果可以读取主板序列号,但是直到现在我还没有找到方法。 有什么建议吗?
你的软件价值多少钱?
目标市场是否经常盗版软件?
在Windows系统上,可以使用WMI读取主板序列号。
使用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/
如果XP域成员使用组策略,则WMI在Windows XP上可能存在问题。
(这只影响大多数企业用户的XP,所以不是很重要)
希望这有点帮助(MAC地址更简单...但很容易更改)
MAC地址不可靠。您应该瞄准一些无法更改的东西,例如CPU ID或HDD IDE ID。
这就是我的意思:http://www.soft.tahionic.com/download-hdd_id/index.html
不幸的是,我认为该DLL文件不能与Java一起使用,但至少它会向您显示一些关于什么是可靠和什么不可靠的信息。