A crypto-secure random bytes generator for react native
MIT License
A library to generate cryptographically-secure random bytes. Uses SecRandomCopyBytes
on iOS, SecureRandom
on Android and System.Security.Cryptography.RandomNumberGenerator
on Windows.
The library exports a single function:
Takes a length, the number of bytes to generate, and returns a Promise
that resolves with a Uint8Array
.
import { generateSecureRandom } from 'react-native-securerandom';
generateSecureRandom(12).then(randomBytes => console.log(randomBytes));
$ yarn add react-native-securerandom
$ react-native link react-native-securerandom
pod 'RNSecureRandom', :path => '../node_modules/react-native-securerandom'
to your Podfile
(changing your node_modules
path as appropriate)pod install
from the same directory as your Podfile
Libraries
➜ Add Files to [your project's name]
node_modules
➜ react-native-securerandom
and add RNSecureRandom.xcodeproj
libRNSecureRandom.a
to your project's Build Phases
➜ Link Binary With Libraries
android/app/src/main/java/[...]/MainActivity.java
import net.rhogan.rnsecurerandom.RNSecureRandomPackage;
to the imports at the top of the filenew RNSecureRandomPackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-securerandom'
project(':react-native-securerandom').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-securerandom/android')
android/app/build.gradle
:
compile project(':react-native-securerandom')
node_modules/react-native-securerandom/windows/RNSecureRandom.sln
folder to your solution, and reference from your app.MainPage.cs
using Net.Rhogan.RNSecureRandom.RNSecureRandom;
to the usings at the top of the filenew RNSecureRandomPackage()
to the List<IReactPackage>
returned by the Packages
method