安全的Android ID长度? [英] Secure Android ID length?

查看:746
本文介绍了安全的Android ID长度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下代码获取android ID

I am using the below code to get the android ID

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

我能够获取android ID,但是长度不是固定的.在某些手机中,我会得到16个长度的ID,而在另一些手机中,我会得到15个长度的ID.

I am able to get the android ID but it's length is not fixed. In some phones I get a 16 length ID and in other I get 15 length ID.

我在文档中读到它是一个64进制十进制数字,因此它应始终返回16位字符串.

I read in the documentation it is a 64 Hex decimal number so it should always return 16 digit string.

那么我在做错什么吗?

推荐答案

以下

The following code snippet from AOSP shows how the ANDROID_ID is generated:

SecureRandom random = new SecureRandom();
String newAndroidIdValue = Long.toHexString(random.nextLong());

已知方法Long.toHexString抑制前导零.因此,如果长度小于16,则在ANDROID_ID前面加上零应该是正确的方法,以获得完整的16位ANDROID_ID.

The method Long.toHexString is known to suppress leading zeros. Therefore prepending the ANDROID_ID with zeros in case it's length is less than 16 should be to correct way to get a full 16 digits ANDROID_ID.

这篇关于安全的Android ID长度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆