@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.

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

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

    Weekly Downloads

    5

    Version

    0.0.20

    License

    MIT

    Unpacked Size

    6.82 kB

    Total Files

    4

    Last publish

    Collaborators

    • lbwgd
    • sirpush
    • alexey-goddollar