跨平台库,用于唯一标识我的应用当前正在运行的计算机?

时间:2011-12-12 13:22:44

标签: c++ cross-platform

所以我有下一个情况 - 共享文件系统,在N个相似的机器上。我的应用程序在所有这些上运行。我需要了解我的应用程序在每个实例中运行的机器 - 一些唯一的ID ...是否有这样的事情,是否可以模拟它?是否有任何跨平台库可以帮助解决这个问题?

1 个答案:

答案 0 :(得分:2)

这里有两个问题,即匹配的安全性和稳定性。

硬件特性是一个很好的起点。像MAC地址,CPU,硬盘标识符这样的东西。

这些事情在理论上可以改变。如果硬盘故障,你可能会失去你在系统上的任何配置。我可以看到一个系统发送每个特征的散列分别工作正常。如果5个匹配中有4个匹配,你可能会猜到他们的网卡着火并被更换了。

如果你只是需要一个人数,你可能甚至不感兴趣这个带有不同签名的新系统曾经是另一个。

通常,人们不太关心这些系统的安全性;他们只想跟踪网络上的资源。如果有人想欺骗他们可以的硬件标识符。对于简单的情况,我会查看一个注册了盐渍标识符的安装程序。如果您真的需要非常安全的东西,您可能会开始关注商业产品(或者专门询问有关安全方面的其他问题)。

这两个都很容易出错。在这些情况下,我不确定你是否应该完全自动化它。想想网络卡表现奇怪的情况,并将它们与另一台机器交换。

人眼很好,让管理员使用它们。在最坏的情况下,他们可能会通过快速电子邮件解决问题。只要给出足够的信息,就可以在出现问题时做出明智的决定。实际上,如果您只记录所有内容,那么人类应该能够重新创建场景并做出决定。大多数这些事情每天都不会改变。当硬件出现故障时,工作量会增加,而不是每天都有。