UNPKG

1.68 kBMarkdownView Raw
1# expo-random
2
3## ⚠️ Deprecated
4
5This package is now deprecated in favor of `expo-crypto`, which provides the same functionality.
6To migrate, replace all imports from `expo-random` with imports from `expo-crypto`.
7
8Provides a native interface for creating strong random bytes. With `Random` you can generate random values to address use cases that other APIs like the web's `crypto.getRandomValues` and Node's `crypto.randomBytes` might address.
9
10# Installation in managed Expo projects
11
12For [managed](https://docs.expo.dev/versions/latest/introduction/managed-vs-bare/) Expo projects, please follow the installation instructions in the [API documentation for the latest stable release](https://docs.expo.dev/versions/latest/sdk/random/).
13
14You can add a polyfill for the web's `crypto.getRandomValues` by installing [expo-standard-web-crypto](https://github.com/expo/expo/tree/main/packages/expo-standard-web-crypto) and importing it in SDK 39 and higher:
15
16```js
17import { polyfillWebCrypto } from 'expo-standard-web-crypto';
18
19polyfillWebCrypto();
20// crypto.getRandomValues is now globally defined
21```
22
23Other libraries like [react-native-get-random-values](https://github.com/LinusU/react-native-get-random-values) may work too.
24
25# Installation in bare React Native projects
26
27For bare React Native projects, you must ensure that you have [installed and configured the `expo` package](https://docs.expo.dev/bare/installing-expo-modules/) before continuing.
28
29### Add the package to your npm dependencies
30
31```
32expo install expo-random
33```
34
35### Configure for iOS
36
37Run `npx pod-install` after installing the npm package.
38
39### Configure for Android
40
41No additional set up necessary.