From 1b8d54b86da5ea8bb46d2e60547bbb2599bfbdc6 Mon Sep 17 00:00:00 2001 From: Samuel Scheit Date: Tue, 11 Mar 2025 15:47:23 +0100 Subject: [PATCH] perf: improve getRandomBase64 android performance by 20x --- android/src/main/java/org/linusu/RNGetRandomValuesModule.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/org/linusu/RNGetRandomValuesModule.java b/android/src/main/java/org/linusu/RNGetRandomValuesModule.java index 37c728d..ee96ba5 100644 --- a/android/src/main/java/org/linusu/RNGetRandomValuesModule.java +++ b/android/src/main/java/org/linusu/RNGetRandomValuesModule.java @@ -11,6 +11,7 @@ import com.facebook.react.bridge.Callback; public class RNGetRandomValuesModule extends ReactContextBaseJavaModule { + private static final SecureRandom SECURE_RANDOM = new SecureRandom(); private final ReactApplicationContext reactContext; @@ -27,9 +28,8 @@ public String getName() { @ReactMethod(isBlockingSynchronousMethod = true) public String getRandomBase64(int byteLength) throws NoSuchAlgorithmException { byte[] data = new byte[byteLength]; - SecureRandom random = new SecureRandom(); - random.nextBytes(data); + SECURE_RANDOM.nextBytes(data); return Base64.encodeToString(data, Base64.NO_WRAP); }