在Android中生成唯一ID(UUID)

修女

几个月以来,我一直在使用一个类来生成在两次交互之间保持稳定的UUID。我的应用程序是关于折扣的,因此我依靠此UUID来限制每台设备的优惠券数量。

protected void getDeviceId(){
    try {
        Context context = cordova.getActivity().getApplicationContext();
        TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

        String uuid;
        String androidID = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
        String deviceID = tm.getDeviceId();
        String simID = tm.getSimSerialNumber();

        if ("9774d56d682e549c".equals(androidID) || androidID == null) {
            androidID = "";
        }

        if (deviceID == null) {
            deviceID = "";
        }

        if (simID == null) {
            simID = "";
        }

        uuid = androidID + deviceID + simID;
        uuid = String.format("%32s", uuid).replace(' ', '0');
        uuid = uuid.substring(0, 32);
        uuid = uuid.replaceAll("(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})", "$1-$2-$3-$4-$5");

        this.callbackContext.success(uuid);
    }catch(Exception e ) {
        this.callbackContext.error("Exception occurred: ".concat(e.getMessage()));
    }
}

这就是我生成uuid的核心。事情是这个周末,装有XT1032和android 5.1的人能够在每次安装该应用后重新生成不同的UUID,从而获得免费的优惠券。我使用的这种方法可能会以某种方式被欺骗?也许有根电话?我在瞎子里射击。我需要能够在安装之间创建可靠的UUID。

阿巴斯

UUID依赖三个不同的ID,所有这些ID都可以轻松更改。无法确定这是否是原因,但请查看此处的代码:

SSN(SIM序列号) getSimSerialNumber()使您获得所附加SIM卡的SSN。UUID为同一设备产生不同信号的一种简单方法是简单地插入不同的SIM卡。我知道这很麻烦,但是仍然可行。

IMEI / MEID getDeviceId()返回IMEI或MEID。因此,另一种方法是更改IMEI设备的。如果您只用谷歌“无根更改手机IMEI”,您将获得许多可行的结果。这可能是更简单的方法(如果是自动化的)。

每次恢复手机时,根据docs更改的Android设备ID ANDROID_ID因此,用户UUID只需恢复手机即可更改

由于您的UUID是基于三个唯一ID的链环,因此欺骗系统就像链接中最弱的链接一样容易。ANDROID_ID作为此链中最牢固的链接,我建议您仅使用它。请参阅此链接作为替代


编辑:

ANDROID_ID自从奥利奥(Oreo)以来,虽然仍然是识别以前的用户的最佳方法,但其用途和独特性有所更新。访问#ANDROID_ID页面以获取更多详细信息。

更改的摘要是:

每个ANDROID_ID上应用定位Android Oreo或更高版本以及安装Android Oreo或更新是通过谁安装的应用程序,该应用程序的签名(对于不同的应用程序本质上的不同,但不一定)的用户和设备的独特。因此,尽管在大多数情况下您仍然会获得相同的ID,但以其他用户身份安装应用仍会产生不同的ANDROID_ID进行这些更改是为了保护用户的隐私。

还更新了ANDROID_ID的权限。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章