Eri*_*ric 16 security android cryptography
所以,我认为我很聪明,并使用Android的安全唯一ID的各种哈希和排列来识别我的用户....
但事实证明,9774d56d682e549c是一个神奇的ID返回
Secure.getString(getContentResolver(), Secure.ANDROID_ID);
Run Code Online (Sandbox Code Playgroud)
对于大量的设备......似乎我构建的每个模拟器都具有相同的ID,并且许多其他人的手机(许多moto机器人!)和闪存的OS mods倾向于返回相同的重复值.非MotoDroid/Non-Flashed手机似乎都给了我一个独特的字符串.但是这个在我的DB中大约有60次!
我将优化我的应用程序以在注册之前检查该字符串,但是建议的方法是处理它以获得另一个唯一值?
我目前的想法是检查它,生成一个非常大的随机值,哈希它,然后存储比SharedPreferences然后使用ANDROID_ID或存储在sharedprefs中的那个(如果用户手机给出了值).任何人都有更好的想法,或者这似乎足以缓解这个疯狂的错误?
请查看识别应用程序安装文章.你不能依靠ANDROID_ID.
最佳解决方案是生成自定义ID:
String id = UUID.randomUUID().toString();
Run Code Online (Sandbox Code Playgroud)