Skip to content

PizzaLiu/react-native-des

 
 

Repository files navigation

React Native Des (remobile)

A des crypto for react-native

fork from remobile/react-native-des only add cbc feature in Android and iOS

Installation

npm install react-native-des-cbc --save

Installation (iOS)

  1. Drag node_modules/react-native-des-cbc/ios/RCTDes.xcodeproj to your project's Libraries in Xcode.
  2. Click on your main project and select Build Phases then drag libRCTDes.a from the Libraries/RCTDes.xcodeproj/Products into Link Binary With Libraries.
  3. (Optional) Look for Build Settings/Header Search Paths and make sure it contains both $(SRCROOT)/../../../react-native/React as recursive.
  4. command + b to buil it.

Installation (Android)

1/3. In android/settings.gradle

//...
include ':react-native-des-cbc'
project(':react-native-des-cbc').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-des-cbc/android')

2/3. In android/app/build.gradle

//...
dependencies {
    //...
    compile project(':react-native-des-cbc')
}

3/3. register module (in MainApplication.java)

//......
import com.remobile.des.RCTDesPackage;  // <--- import
//......

@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
          //......
          new RCTDesPackage(),            // <------ add here
         //......
      );
}

Usage

Example

var Des = require('react-native-des-cbc');

Des.encrypt("fangyunjiang is a good developer", "ABCDEFGH", function(base64) {
    console.log(base64); //wWcr2BJdyldTHn4z3AxA0qBIdHQkIKmpqhTgNuRd3fAFXzvIO5347g==
    Des.decrypt(base64, "ABCDEFGH", function(text) {
        console.log(text); //fangyunjiang is a good developer
    }, function(){
        console.log("error");
    });
}, function() {
    console.log("error");
});

var vec = "cute";
Des.encryptCbc("PizzaLiu is a good developer too", "ABCDEFGH", vec, function(base64) {
    console.log(base64);
    Des.decryptCbc(base64, "ABCDEFGH", vec, function(text) {
        console.log(text); //PizzaLiu is a good developer
    }, function(){
        console.log("error");
    });
}, function() {
    console.log("error");
});

method

  • encrypt(text, key, callback)

  • encrypt(base64, key, callback)

  • encryptCbc(text, key, vec, callback)

  • encryptCbc(base64, key, vec, callback)

Server Side

About

A des crypto for react-native

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 78.3%
  • Java 16.5%
  • JavaScript 3.2%
  • PHP 1.1%
  • Ruby 0.9%