Socket
Socket
Sign inDemoInstall

react-native-rsa-native

Package Overview
Dependencies
0
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-rsa-native


Version published
Weekly downloads
13K
decreased by-26.38%
Maintainers
1
Install size
48.9 kB
Created
Weekly downloads
 

Readme

Source

react-native-rsa-native

A native implementation of RSA key generation and encryption/decryption, sign/verify. Keychain implementation Implementation is in PKCS1

Status

Android: Generation, Encryption, Decryption, Sign, Verify, keychain support iOS: Generation, Encryption, Decryption, Sign, Verify, keychain support

*Need to check cross platform encrypt/decrypt

Getting started

$ yarn add react-native-rsa-native

or:

$ npm install react-native-rsa-native --save

Mostly automatic installation:

$ react-native link react-native-rsa-native

iOS

In your React Native Xcode project, right click on your project and go 'Add Files to ...', then navigate to /node_modules/react-native-rsa-native/ios and select the RNRSA.xcodeproj file. Then in the build settings for your target under 'Link Binary With Libraries', add libRNRSA.a.

Usage


import {RSA, RSAKeychain} from 'react-native-rsa-native';

RSA.generate()
  .then(keys => {
    console.log(keys.private) // the private key
    console.log(keys.public) // the public key
    RSA.encrypt('1234', keys.public)
      .then(encodedMessage => {
        RSA.decrypt(encodedMessage, keys.private)
          .then(message => {
            console.log(message);
          })
        })

    RSA.sign(secret, keys.private)
      .then(signature => {
        console.log(signature);

        RSA.verify(signature, secret, keys.public)
          .then(valid => {
            console.log(valid);
          })
        })
  })

// Example utilizing the keychain for private key secure storage

let keyTag = 'com.domain.mykey';
let secret = "secret message";

RSAKeychain.generate(keyTag)
  .then(keys => {
    console.log(keys.public);
    console.log(secret);

    RSAKeychain.encrypt(secret, keyTag)
      .then(encodedMessage => {
        console.log(encodedMessage);

        RSAKeychain.decrypt(encodedMessage, keyTag)
          .then(message => {
            console.log(message);
          })
        })

    RSAKeychain.sign(secret, keyTag)
      .then(signature => {
        console.log(signature);

        RSAKeychain.verify(signature, secret, keyTag)
          .then(valid => {
            console.log(valid);
          })
        })
  });

Credit

  • Originally based on https://github.com/SamSaffron/react-native-key-pair
  • iOS implementation reference

Keywords

FAQs

Last updated on 04 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc