首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:如何获得永远不会更改的计算机的唯一序列ID

问Java:如何获得永远不会更改的计算机的唯一序列ID
EN

Stack Overflow用户
提问于 2015-03-24 07:35:38
回答 1查看 1.4K关注 0票数 0

我正在编写一个程序,该程序要求运行该程序的计算机具有唯一的序列ID。它需要永远不改变(或者很少改变,用户必须提前知道它什么时候会改变)。另外,我需要它在Linux,Mac和Windows (甚至可能是Solaris)上工作,或者一种方式。我试过了..。

代码语言:javascript
复制
try
{
    Process process = Runtime.getRuntime().exec(new String[]
    {
    "wmic", "bios", "get", "serialnumber"
    });
    process.getOutputStream().close();
    Scanner sc = new Scanner(process.getInputStream());
    String property = sc.next();
    String serial = sc.next();
    System.out.println(property + ": " + serial);
} catch(IOException e)
{
    e.printStackTrace();
}

但WMIC只在windows上运行。但除此之外,它是完美的。在Mac和Linux上实现这一点的一种方法将是完美的

EN

回答 1

Stack Overflow用户

发布于 2015-03-24 07:59:51

没有计算机序列号,即使有,客户端的软件也可以被修改为发送任何数字。您可以通过某种方式合并网卡的媒体访问控制地址(MAC地址),但该地址可以通过软件更改,也可以换出网卡,也可以有多个网卡。

对于投票应用程序,您唯一能做的就是使用安全的硬件,该硬件包含一个不能复制的唯一数字,并与加密一起使用。这就是智能卡的作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29222406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档