From 0f4d7ccd95ac6deb675da19508ff26c4e7126893 Mon Sep 17 00:00:00 2001 From: Mark Vayngrib Date: Mon, 13 Jun 2016 15:31:22 -0400 Subject: [PATCH] [android] export seed constant --- .../bitgo/randombytes/RandomBytesModule.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/bitgo/randombytes/RandomBytesModule.java b/android/src/main/java/com/bitgo/randombytes/RandomBytesModule.java index b2a06c3..de52cd1 100644 --- a/android/src/main/java/com/bitgo/randombytes/RandomBytesModule.java +++ b/android/src/main/java/com/bitgo/randombytes/RandomBytesModule.java @@ -7,10 +7,13 @@ import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactContextBaseJavaModule; import java.security.SecureRandom; +import java.util.Map; +import java.util.HashMap; import android.util.Base64; class RandomBytesModule extends ReactContextBaseJavaModule { + private static final String SEED_KEY = "seed"; public RandomBytesModule(ReactApplicationContext reactContext) { super(reactContext); @@ -20,12 +23,23 @@ class RandomBytesModule extends ReactContextBaseJavaModule { public String getName() { return "RNRandomBytes"; } + @ReactMethod public void randomBytes(int size, Callback success) { + success.invoke(null, getRandomBytes(size)); + } + + @Override + public Map getConstants() { + final Map constants = new HashMap<>(); + constants.put(SEED_KEY, getRandomBytes(4096)); + return constants; + } + + private String getRandomBytes(int size) { SecureRandom sr = new SecureRandom(); byte[] output = new byte[size]; sr.nextBytes(output); - String string = Base64.encodeToString(output, Base64.DEFAULT); - success.invoke(null, string); + return Base64.encodeToString(output, Base64.DEFAULT); } }