使用Android ID作为唯一ID的利弊

使用Android ID作为唯一ID的利弊,android,security,Android,Security,我们使用 Secure.getString(getContentResolver(),Secure.ANDROID_ID) 我想知道使用这个ID作为唯一ID的利弊是什么? 在一些网站上,我读到它不可靠,因为当我们在设备上进行工厂重置时,ID可能会改变,或者根用户可以改变它。 我的观点是,当我进行工厂重置时,Android ID正在更改,但当涉及到根用户权限时,我无法获得任何可更改的源。有第三方应用程序,比如DeviceMod、Android ID转换器,它们都不适合我 如果您知道,请分享您的答案

我们使用
Secure.getString(getContentResolver(),Secure.ANDROID_ID)

我想知道使用这个ID作为唯一ID的利弊是什么? 在一些网站上,我读到它不可靠,因为当我们在设备上进行工厂重置时,ID可能会改变,或者根用户可以改变它。 我的观点是,当我进行工厂重置时,Android ID正在更改,但当涉及到根用户权限时,我无法获得任何可更改的源。有第三方应用程序,比如DeviceMod、Android ID转换器,它们都不适合我


如果您知道,请分享您的答案

您可以找到一个很好的识别安装和相关问题的概述

在ANDROID 2.2之前的设备上使用ANDROID_ID不可靠(可能为空,…)。还有一些设备为所有设备设置了相同的ANDROID_ID。哎呀,这些设备出了问题:Droid2,三星Galaxy标签


需要指出的另一点是,每个配置文件(随Android 4.2引入)都有自己的Android_ID(详情请参阅)。但是根据,应该有一个适用于所有配置文件(他们已经报告了)。如果你想让我们详细说明android在这方面的优缺点,你需要指定你想知道的关于给定设备的信息。我的问题不仅仅是一个设备,它应该对所有android设备都是唯一的。可能是手机、平板电脑、电视盒或安卓系统的粘滞物,因为我没有说清楚。我的意思是:你打算相信一个设备在其生命周期内只有一个Android吗?您是否打算依赖这样一个事实,即不会有其他具有相同ID的设备?(这是一个区别。)或者其他什么?我想知道所有android设备上的唯一ID,我可以使用它进行哈希算法和对我的应用程序进行授权。我们是在谈论付费应用程序吗?还是更多地是为了保护用户数据?有服务器组件吗?谢谢。。我的目的不仅仅是识别安装,而是为APK提供安全性。在启动我的应用程序之前,如果cleint被授权使用与否,我应该做一些验证。因此,我需要使用一些散列算法来隐藏数据。在这个过程中,我应该知道我可以使用什么唯一ID