java获取唯一的服务器ID以供参考

时间:2015-04-22 20:03:58

标签: java spring hash server uniqueidentifier

我有一个在服务器X上运行的独立命令行java应用程序。我需要知道运行它的机器的唯一ID。如何获得此ID?也许像哈希一样。我不想保留那里有ID的文件。有没有办法获得这个不依赖于IP,硬件等的唯一ID?

1 个答案:

答案 0 :(得分:2)

您可以读出服务器的MAC地址并将其用作唯一密钥。

以下来自http://www.tutego.de/blog/javainsel/2013/12/mac-adressen-auslesen/的代码段显示了可能的实现。

[Route("Mall/{mallId?}/Store/{storeId?}/Products", Name = "Products")]
public ActionResult Products(string mallId = null, long? storeId)
{
    return View(products);
}

对不起来源是德语,但我很确定也有英文文档。

由于评论而编辑:

当然必须考虑到MAC地址也可能有重复。

以下链接显示了可能的原因 https://serverfault.com/questions/462178/duplicate-mac-address-on-the-same-lan-possible

无论哪种方式使用MAC地址作为解决此问题的方法都是务实的方式。

使用散列方法: http://preshing.com/20110504/hash-collision-probabilities/

GUID:Is it safe to assume a GUID will always be unique?

也不保证可能重复的风险为0.0%。