如何在Peer-Peer Ad hoc网络中为每个设备创建唯一ID

时间:2017-04-03 11:17:28

标签: networking adhoc unique-id

我正在开发ad-hoc网络中的对等对话应用程序。当一个对等体想要与其他对等体通信时,它使用其ip地址进行连接。 一旦设备在Ad-hoc网络中相互连接,就会为每个设备分配一个IP地址,但我需要一个较小的字符串(4-6个字符)作为ad-hoc网络中每个设备的唯一ID 。由于这是对等网络,因此没有服务器(可以生成唯一ID),因此每个对等方自己负责生成唯一ID。我正在寻找一种机制或算法来生成java中的唯一ID。

2 个答案:

答案 0 :(得分:1)

这可能最好通过使用每个设备的接口特定MAC地址来解决。在标准实现中,MAC地址对于每个网络接口都是唯一的,因此每个设备都具有唯一的编号。您可以直接使用此地址或作为种子值来创建派生ID。

答案 1 :(得分:0)

使用以下代码生成包含6个字符的随机数

private static SecureRandom random = new SecureRandom();

public static String getUniqueId() {
    return new BigInteger(130, random).toString(32).substring(0, 6);
}