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
- Add
pod 'RNSecureRandom', :path => '../node_modules/react-native-securerandom'to yourPodfile(changing yournode_modulespath as appropriate) - Run
pod installfrom the same directory as yourPodfile
- In XCode, in the project navigator, right click
Libraries➜Add Files to [your project's name] - Go to
node_modules➜react-native-securerandomand addRNSecureRandom.xcodeproj - In XCode, in the project navigator, select your project. Add
libRNSecureRandom.ato your project'sBuild Phases➜Link Binary With Libraries
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import net.rhogan.rnsecurerandom.RNSecureRandomPackage;to the imports at the top of the file - Add
new RNSecureRandomPackage()to the list returned by thegetPackages()method
- Append the following lines to
android/settings.gradle:include ':react-native-securerandom' project(':react-native-securerandom').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-securerandom/android') - Insert the following lines inside the dependencies block in
android/app/build.gradle:compile project(':react-native-securerandom')
- In Visual Studio add
node_modules/react-native-securerandom/windows/RNSecureRandom.slnfolder to your solution, and reference from your app. - Open up your app's
MainPage.cs
- Add
using Net.Rhogan.RNSecureRandom.RNSecureRandom;to the usings at the top of the file - Add
new RNSecureRandomPackage()to theList<IReactPackage>returned by thePackagesmethod