Secure Android ID length?

和自甴很熟 提交于 2019-12-29 01:29:07

问题


I am using the below code to get the android ID

 String android_id = Secure.getString(context.getContentResolver(),
            Secure.ANDROID_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.

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

So is there something wrong I am doing?


回答1:


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

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

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.



来源:https://stackoverflow.com/questions/29889880/secure-android-id-length

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!