diff options
author | Doug Zongker <dougz@android.com> | 2010-08-19 14:05:27 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-08-19 14:05:27 -0700 |
commit | a695cbc94355017d02a3a6c17d866776a8eee24c (patch) | |
tree | 9f46428034ac29414e8b5cd7e6a74d56a30d374c /packages/SettingsProvider/src/com/android/providers/settings | |
parent | cbd038fe207f183bc7e0a610973473f7c2e9d118 (diff) | |
parent | 0fe27cf5bd1407bc7b4eabefaa91ff535582badc (diff) | |
download | frameworks_base-a695cbc94355017d02a3a6c17d866776a8eee24c.zip frameworks_base-a695cbc94355017d02a3a6c17d866776a8eee24c.tar.gz frameworks_base-a695cbc94355017d02a3a6c17d866776a8eee24c.tar.bz2 |
am 0fe27cf5: make android_id random seed depend on time as well as ro.serialno
Merge commit '0fe27cf5bd1407bc7b4eabefaa91ff535582badc' into gingerbread
* commit '0fe27cf5bd1407bc7b4eabefaa91ff535582badc':
make android_id random seed depend on time as well as ro.serialno
Diffstat (limited to 'packages/SettingsProvider/src/com/android/providers/settings')
-rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 6a5290e..2e95932 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -222,16 +222,11 @@ public class SettingsProvider extends ContentProvider { final String value = c.moveToNext() ? c.getString(0) : null; if (value == null) { final SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); - String serial = SystemProperties.get("ro.serialno"); - if (serial != null) { - try { - random.setSeed(serial.getBytes("UTF-8")); - } catch (UnsupportedEncodingException ignore) { - // stick with default seed - } - } + String serial = SystemProperties.get("ro.serialno", ""); + random.setSeed( + (serial + System.nanoTime() + new SecureRandom().nextLong()).getBytes()); final String newAndroidIdValue = Long.toHexString(random.nextLong()); - Log.d(TAG, "Generated and saved new ANDROID_ID"); + Log.d(TAG, "Generated and saved new ANDROID_ID [" + newAndroidIdValue + "]"); final ContentValues values = new ContentValues(); values.put(Settings.NameValueTable.NAME, Settings.Secure.ANDROID_ID); values.put(Settings.NameValueTable.VALUE, newAndroidIdValue); |