Working version based on /saulshanabrook/react-native-webview-crypto and PR #9
This brings window.crypto.subtle to your React Native application. It does this by communicating with a hidden WebView, which performs the actual computation.
Refer to the webview-crypto repo for most of the code and some caveats.
npm install --save react-native-webview react-native-webview-crypto
react-native linkif you use react-native-crypto and get warnings about cyclic require make sure to import it before the bridge
import 'react-native-crypto'
import WebviewCrypto from 'react-native-webview-crypto'
for complete compatability with webcrypto (window.crypto.getRandomValues) you can install react-native-crytpo or react-native-get-random-values
Rendering the PolyfillCrypto will start up a WebView to transparently proxy all the crypto calls to.
importReact,{Component}from'react'import{View}from'react-native'importAppfrom'./app'importPolyfillCryptofrom'react-native-webview-crypto'classTopLevelComponentextendsComponent{render(){return(<View><PolyfillCrypto/><App/></View>)}}AppRegistry.registerComponent('WhateverName',()=>TopLevelComponent)Now, in any of your code, you can access window.crypto.subtle, just like you would in a browser.
Example repo There is also an example repo which runs some example crypto using this library.
This project was funded by Burke Software and Consulting LLC for passit.