0

我找到了一个应用程序,他们使用设备身份作为用户登录。卸载并安装后显示相同的 DeviceID。当我在我的安卓设备上测试这个应用程序时。设备标识与此字符串不匹配。

String android_id = Settings.Secure.getString(this.getContentResolver(),
            Settings.Secure.ANDROID_ID);

但是,当我在与该应用设备 ID 匹配的 android 模拟器字符串上尝试此操作时。但是在我的物理设备中......

在该应用程序上显示:93edad60438f8004

获取字符串设备 ID:5f1cf6393c37ae96

如何获取设备 ID 作为该应用程序?

模拟器上的那个 App 模拟器设备 ID

4

1 回答 1

1

从 Android 26 开始,出于隐私原因,设备上的每个应用程序都会被告知不同的 Android ID。这可以防止公司通过关联设备 ID 在未经用户许可的情况下共享用户数据。

此外,设备 ID 绝不应用作登录凭据。我可以获得一个 Android 版本,它允许我通过快速重新编译 AOSP 在模拟器上声明我想要的任何 id。它很容易被欺骗。如果您需要能够登录设备,请使用从服务器随机生成的密钥,并使用存储在密钥库中的密钥对其进行加密。不要指望硬件标识符。它们可以被欺骗,同样重要的是,您不能在不破坏用户使用您应用程序的能力的情况下撤销它们。使用随机生成的令牌,您可以在服务器端使其无效,用户只需再次登录。

于 2022-02-23T07:00:55.523 回答