需要生成特定于设备 ID 的访问密钥(Android 应用程序的 android_id)

Posted

技术标签:

【中文标题】需要生成特定于设备 ID 的访问密钥(Android 应用程序的 android_id)【英文标题】:Need to generate an access key specific to an device id (android_id for android apps) 【发布时间】:2012-11-24 20:15:12 【问题描述】:

我需要生成特定于设备 ID 的访问密钥(android_id 用于 android 设备)。该密钥只会解锁该设备上的应用程序。如何在服务器端生成此访问密钥?任何可用的 php 代码/库?应用端 (android) 需要做什么来读取/处理/解密访问密钥并解锁设备上的应用程序。

【问题讨论】:

【参考方案1】:

如果您对使用随机生成的密钥感到满意,您可以在服务器上创建它并将其发送到设备或将其提供给用户输入。或者,您可以在设备上生成它并将其发送到服务器进行存储。然后将与其相关的密钥和 id 存储在共享首选项的数据库中。当用户打开应用程序时,从首选项中提取 id 和密钥,将它们发送到服务器并让它验证它们是否正确。

更新

对于非随机代码,您可以使用Settings.Secure.ANDROID_ID,如in the Android Developer Blog 所述。不过,您需要小心处理,正如 this answer 的 cmets 中所述。

【讨论】:

Cameron,不仅仅是随机的,我正在寻找“设备相关”的访问密钥。我想在服务器上生成此密钥(基于用户的设备 id -eg: 22a000004228cg45 ),并将其提供给用户。用户手动输入密钥,然后为该设备激活应用程序。相同的密钥不应该在其他设备上工作。

以上是关于需要生成特定于设备 ID 的访问密钥(Android 应用程序的 android_id)的主要内容,如果未能解决你的问题,请参考以下文章

无法生成特定于应用程序的共享密钥

JWT 令牌不特定于用户

KMS 加密 - 本地开发

如何使用特定于州的代理?

是否有可用的事件(在 xamarin 或特定于平台的)可用于收听用户设备时间的任何变化?

FCM 令牌是特定于应用程序还是设备?