基于 Java 的唯一计算机 ID 硬件
2022-09-04 22:27:32
我需要从一台PC生成唯一的代码,我的软件将通过许可证分发,并且在本地我需要识别环境并将此代码发送到服务器。我不想在服务器上维护一个序列数字,每个客户端都收到一个序列的编号,我试图从NetworkInterfaces读取MAC地址,但并不安全,用户可以很容易地更改MAC地址。我认为如果可能的话,最好的方法是读取主板序列号,但我直到现在才找到方法。有什么要求吗?
我需要从一台PC生成唯一的代码,我的软件将通过许可证分发,并且在本地我需要识别环境并将此代码发送到服务器。我不想在服务器上维护一个序列数字,每个客户端都收到一个序列的编号,我试图从NetworkInterfaces读取MAC地址,但并不安全,用户可以很容易地更改MAC地址。我认为如果可能的话,最好的方法是读取主板序列号,但我直到现在才找到方法。有什么要求吗?
您的软件值多少钱?
目标市场盗版软件很多吗?
使用WMI可以在Windows盒子上读取主板序列号
使用 WMI 读取序列号 http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx
使用 Java http://henryranch.net/software/jwmi-query-windows-wmi-from-java/ 中的 WMI
WMI 是/曾经是一个损坏的 Windows XP 域成员在 AD 域上,如果他们使用组策略。
(这只会影响XP的大多数企业用户,所以没什么大不了的)
希望这有帮助一点(MAC地址更简单...但很容易改变)
MAC 地址不可靠。您应该瞄准无法更改此类CPU ID或HDD IDE ID的内容。我的意思是:http://www.soft.tahionic.com/download-hdd_id/index.html
不幸的是,我不认为DLL与Java一起工作,但至少它会向你显示一些关于什么是可靠的,什么是不可靠的信息。