【问题标题】:Unique computer ID hardware based in Java基于 Java 的唯一计算机 ID 硬件
【发布时间】:2011-04-05 13:31:57
【问题描述】:

我需要从单台 PC 生成唯一代码,我的软件将通过许可证分发,我需要在本地识别环境并将此代码发送到服务器。 我不想在服务器上保留一个序列号,每个客户端都会收到一个序列号,我尝试从 NetworkInterfaces 读取 MAC 地址,但不安全,用户可以轻松更改 MAC 地址。 我认为最好的方法是读取主板序列号,但直到现在我还没有找到方法。 有什么建议吗?

【问题讨论】:

  • 另请注意,计算机可能有很多网络接口(因此有很多 MAC 地址),或者没有。
  • 是的,但是如果计算机没有网络接口,我将无法检索到号码。
  • 您是否致力于编写自己的许可方案?我认为那里有一些不错的开源解决方案。
  • 在安装时创建一个长随机字符串并将其存储在本地机器上?
  • @Rigoni:我在这里和自己约会,但是看看 PPP 和 MAC 地址周围的怪异之处。您可以在没有物理网络适配器的情况下建立 Internet 连接。

标签: java uniqueidentifier


【解决方案1】:

MAC 地址不可靠。 您应该瞄准不能更改诸如 CPU ID 或 HDD IDE ID 的东西。 我的意思是:http://www.soft.tahionic.com/download-hdd_id/index.html

不幸的是,我不认为 DLL 可以与 Java 一起使用,但至少它会向您展示一些关于什么是可靠的和什么不可靠的信息。

【讨论】:

  • CPU ID 不会为您提供唯一的序列号。该 ID 纯粹用于识别正在使用的处理器的确切类型。
  • 另外,硬盘驱动器不可靠,因为它可能由于使用 RAID 控制器而无法使用
【解决方案2】:

你的软件值多少钱?

目标市场盗版软件多吗?

可以使用 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 地址更简单......但很容易更改)

【讨论】:

  • 是的,是一款类似卡西诺计算器策略的策略软件。是多平台的,对于windows这个解决方案会很有用,但对于其他平台没有。我将尝试此解决方案,并尝试其他操作系统其他解决方案。许多坦克。
  • 您能否详细说明一下 WMI 是如何被破坏的。我一直找不到这个错误的参考。
  • WMI 在很多领域都无法返回您期望的信息。更复杂的是,每个服务包(以及不幸的定期更新)都对 WMI 报告的内容进行了更改。除非您对客户端安装的内容有非常严格的控制,否则使用 WMI 可能会让人抓狂。
  • AFIAK 使 AD 域的 XP 机器应用一些组策略和宾果游戏,WMI 不起作用(特别是对于许多应用安装程序)。
猜你喜欢
  • 2011-09-02
  • 2013-02-04
  • 2011-03-29
  • 2011-03-17
  • 2011-09-13
  • 2011-04-07
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多