android - 如何生成一个唯一 ID 以用作服务器端的 session ID?

标签 android session

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

如果设备没有 wifi 接口(interface),我可以只使用 wifi 的 mac 地址作为我的唯一 ID 并使用手机的设备 ID 作为后备吗?该应用程序需要连接到互联网,因此手机的 WiFi 接口(interface)或设备 ID 肯定会存在,对吗?或者这是个坏主意?

我也在考虑使用 UUID.randomUUID()。但是虽然这里生成相同id的几率很小,但是概率还是存在的。

如果该 ID 还必须用作服务器上的 session ID,我可以使用什么 ID?另请注意,如果服务器上已存在该 ID,则 session 的所有权将授予新用户。

最佳答案

您可以简单地在服务器上创建一个随机 ID(UUID 就可以)。然后您可以确保它尚未被使用。

关于android - 如何生成一个唯一 ID 以用作服务器端的 session ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8006078/

相关文章:

c# - 在内存中创建文件夹?

session - 文件中的 session 和数据库中的 session 之间的区别

angular - 如何在 Angular 6 中给 session 空闲超时?

java - 给定速度的动画?

android - 如何在 Activity 中访问布局-大布局?

PHP session 变量不能跨 2 个页面工作

并发 session 和 AJAX 的 PHP 问题

Php session 固定示例和修复

java - 如何将 Bottomnavigationview fragment 切换到另一个不是菜单项的 fragment

java - Android ItemTouchHelper 部分滑动