expo-random v14.0.1
expo-random
Provides a native interface for creating strong random bytes. With Random
you can create values equivalent to Node.js
core crypto.randomBytes
API.
Installation
This package is pre-installed in managed Expo projects as of SDK 33. You may skip the rest of the installation guide if this applies to you.
For bare React Native projects, you must ensure that you have installed and configured the react-native-unimodules
package before continuing.
Add the package to your npm dependencies
npm install expo-random
Configure for iOS
Run pod install
in the ios directory after installing the npm package.
Configure for Android
No additional set up necessary.
Docoumentation
// in managed apps:
import { Random } from 'expo';
// in bare apps:
import * as Random from 'expo-random';
Methods
getRandomBytesAsync
getRandomBytesAsync(byteCount: number): Promise<Uint8Array>
Generates completely random bytes using native implementations. The byteCount
property is a number
indicating the number of bytes to generate in the form of a Uint8Array
.
Parameters
Name | Type | Description |
---|---|---|
byteCount | number | A number within the range: 0...1024. Anything else will throw a TypeError |
Returns
Name | Type | Description |
---|---|---|
randomBytes | Promise<Uint8Array> | An array of random bytes with the same length as the byteCount |
Example
const randomBytes = await Random.getRandomBytesAsync(3);
Usage
import React from 'react';
import { View } from 'react-native';
import * as Random from 'expo-random';
export default class DemoView extends React.Component {
async componentDidMount() {
const randomBytes = await Random.getRandomBytesAsync(16);
/* Some crypto operation... */
}
render() {
return <View />;
}
}
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago