From 225d01c1435abb371b09dd6dc81cf3b872892142 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 29 Mar 2017 12:02:13 +0100 Subject: [PATCH] Crypto: Only create random generator as needed. --- .../etesync/syncadapter/journalmanager/Helpers.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/etesync/syncadapter/journalmanager/Helpers.java b/app/src/main/java/com/etesync/syncadapter/journalmanager/Helpers.java index 647f8cb3..b5d7a6d8 100644 --- a/app/src/main/java/com/etesync/syncadapter/journalmanager/Helpers.java +++ b/app/src/main/java/com/etesync/syncadapter/journalmanager/Helpers.java @@ -47,10 +47,9 @@ public class Helpers { } static class Cipher { - SecureRandom random; + private SecureRandom _random = null; Cipher() { - random = new SecureRandom(); } private static final int blockSize = 16; // AES's block size in bytes @@ -94,7 +93,7 @@ public class Helpers { byte[] encrypt(String keyBase64, byte[] data) { byte[] iv = new byte[blockSize]; - random.nextBytes(iv); + getRandom().nextBytes(iv); BufferedBlockCipher cipher = getCipher(keyBase64, iv, true); @@ -111,6 +110,13 @@ public class Helpers { return buf; } + + private SecureRandom getRandom() { + if (_random == null) { + _random = new SecureRandom(); + } + return _random; + } } static String sha256(String base) {