From 9bb4ec484b9b9518bf5b17484dcb50727c58b5d1 Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Fri, 24 Sep 2010 11:48:37 -0700 Subject: [PATCH] Use the default SecureRandom provider. Don't be tricky when trying to set the seed for the secure random number generator. Setting the seed manually eliminates the internal randomization the SecureRandom class does automatically, reducing randomness. Just use the default seed, which is designed to be safe. Change-Id: I5747c2b3a10cf04e33d2202195951ed5cb82b2fe --- .../com/android/providers/settings/SettingsProvider.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index ade93da5261e8..6e2bfdbd66d80 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -327,10 +327,7 @@ public class SettingsProvider extends ContentProvider { try { final String value = c.moveToNext() ? c.getString(0) : null; if (value == null) { - final SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); - String serial = SystemProperties.get("ro.serialno", ""); - random.setSeed( - (serial + System.nanoTime() + new SecureRandom().nextLong()).getBytes()); + final SecureRandom random = new SecureRandom(); final String newAndroidIdValue = Long.toHexString(random.nextLong()); Log.d(TAG, "Generated and saved new ANDROID_ID [" + newAndroidIdValue + "]"); final ContentValues values = new ContentValues(); @@ -342,8 +339,6 @@ public class SettingsProvider extends ContentProvider { } } return true; - } catch (NoSuchAlgorithmException e) { - return false; } finally { c.close(); }