mirror of
https://github.com/status-im/react-native-randombytes.git
synced 2026-08-27 09:01:18 +00:00
[android] export seed constant
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user