如何生成在服务器端用作会话ID的唯一ID?

时间:2011-11-04 07:27:00

标签: android session

根据网络,生成唯一ID的最佳推荐方法是使用Settings.Secure.ANDROID_ID。但是,Settings.Secure.ANDROID_ID在Android 2.2上有一个错误。我使用的是Android 2.2,所以我无法使用它。另一方面,还有wiFi设备的mac地址和TelephonyManager.getDeviceId()。我将生成的ID将用作服务器端的会话ID,因此它必须是唯一的。

如果设备没有wiFi接口,我可以使用wiFi的mac地址作为我的唯一ID和手机的设备ID作为后备吗?该应用程序需要连接到互联网,因此一定会出现一个wiFi接口或deviceId手机吗?或者这是一个坏主意?

我也在考虑使用UUID.randomUUID()。但即使在这里产生相同id的可能性很小,概率仍然存在。

如果该ID还必须在服务器上充当会话ID,我可以使用什么ID?此外,请注意,如果服务器上已存在该ID,则会话的所有权将提供给新用户。

3 个答案:

答案 0 :(得分:2)

您只需在服务器上创建一个随机ID(UUID即可)。然后你可以确保它还没有使用。

答案 1 :(得分:1)

我使用了ANDROID_ID,但我在它前面添加了随机数,我得到一个随机数...我检查一下,如果我在基地有它,如果没有我使用那个数字......

答案 2 :(得分:1)

设备ID是唯一的。得到它有什么不对?