有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的uniqueidentifier串行密钥生成和验证(机器唯一标识符)

我必须使用验证密钥保护用Java编写的应用程序,该密钥应仅在指定的PC上工作,因此,例如,应用程序应根据唯一标识符(例如:硬盘序列号、主板序列号等)生成机器ID序列号;然后根据这个唯一标识符,另一个程序将生成一个验证密钥

我已经在一个平台上实现了一个类似的激活系统。NET应用程序生成机器标识符,从WMI获取硬件序列号,如何在Java中获取这些值?该解决方案应在Windows、Linux和Mac Os X上独立工作

如何在Java中检索机器的唯一标识符?有没有什么图书馆可以这样做


共 (3) 个答案

  1. # 1 楼答案

    机器MAC地址(或其中一个机器MAC地址)是一个很好的候选地址。它是唯一的,并且可能比其他硬件标识符更改的频率更低。下面是一段代码片段:

  2. # 2 楼答案

    我不认为你能在纯java中获得CPU Id或硬盘/主板Id。 最接近的是network mac address

    NetworkInterface.getNetworkInterfaces().nextElement().getHardwareAddress();
    
  3. # 3 楼答案

    你需要称之为特定于平台的东西。例如,在Windows上,可以调用调用WMI的VB脚本来获取此信息

    注意:如果你知道自己在做什么,你使用的任何方法都应该很容易被愚弄