[android] export seed constant

This commit is contained in:
Mark Vayngrib
2016-06-13 15:31:25 -04:00
parent 3d74c2a769
commit 0f4d7ccd95
@@ -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<String, Object> getConstants() {
final Map<String, Object> 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);
}
}