expo-crypto
@amazon-devices/expo-crypto is a universal library for crypto operations that enables you to hash data in an equivalent manner to the Node.js core crypto API.
Installation
- Add the JavaScript library dependency in the package.jsonfile.dependencies: { ... "@amazon-devices/expo-crypto": "~2.0.0", "@amazon-devices/keplerscript-turbomodule-api": "~1.0.0", ... }
- Reinstall dependencies using npm installcommand.
Examples
import React, {useEffect, useState} from 'react';
import {StyleSheet, View, Text} from 'react-native';
import * as Crypto from '@amazon-devices/expo-crypto';
export const App = () => {
  const [digest, setDigest] = useState<string>();
  useEffect(() => {
    (async () => {
      const digestStr = await Crypto.digestStringAsync(
        Crypto.CryptoDigestAlgorithm.SHA256,
        'GitHub stars are neat 🌟',
      );
      setDigest(digestStr);
    })();
  }, []);
  return (
    <View style={styles.container}>
      <Text style={styles.text}>Crypto Module Example {digest}</Text>
    </View>
  );
};
const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: 'white',
    justifyContent: 'center',
    alignItems: 'center',
  },
  text: {
    fontSize: 30,
    color: 'black',
  },
});
API reference
Check out the dedicated documentation page for info about this library, API reference and more: Official Expo documentation for expo-crypto.
Methods
| Method | Description | 
|---|---|
| digest | Get hash from passed array buffer (or array buffer view) | 
| digestStringAsync | Get hash from passed string | 
| getRandomBytes | Get array buffer filled with random values | 
| getRandomBytesAsync | Get array buffer filled with random values | 
| getRandomValues | Fill an array buffer with random values | 
| randomUUID | Generate random UUID. | 
Implementation details
Vega supports all cryptographic hash functions (CryptoDigestAlgorithm enum) except for MD2.
Supported versions
| Package Version | Based On | @amazon-devices/react-native-kepler version | 
|---|---|---|
| 2.0.x | 12.7.0 | 2.0.x | 
Additional resources
For information on additional libraries, see Supported Third-Party Libraries and Services.
Last updated: Sep 30, 2025

