@gooddollar/react-native-webview-crypto
TypeScript icon, indicating that this package has built-in type declarations

0.0.20 • Public • Published

react-native-webview-crypto

npm

Working version based on /saulshanabrook/react-native-webview-crypto and PR https://github.com/saulshanabrook/react-native-webview-crypto/pull/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

Android

create a file called blank.html in android/app/src/main/assets

<html/>

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.

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.

Package Sidebar

Install

npm i @gooddollar/react-native-webview-crypto

Weekly Downloads

0

Version

0.0.20

License

MIT

Unpacked Size

6.82 kB

Total Files

4

Last publish

Collaborators

  • lbwgd
  • sirpush
  • alexey-goddollar