Skip to content

heimdal-id/react-native-webview-crypto

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-webview-crypto

npm

Working version based on /saulshanabrook/react-native-webview-crypto and PR webview-crypto#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.

Installation

npm install --save react-native-webview react-native-webview-crypto
react-native link

known issues

if 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'

getRandomValues

for complete compatability with webcrypto (window.crypto.getRandomValues) you can install react-native-crytpo or react-native-get-random-values

Usage

Rendering the PolyfillCrypto will start up a WebView to transparently proxy all the crypto calls to.

import React, { Component } from 'react'
import { View } from 'react-native'

import App from './app'

import PolyfillCrypto from 'react-native-webview-crypto'

class TopLevelComponent extends Component {
  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.

About

Web Cryptography API for React Native

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%