Android JNI model implementation of Rob Napier's RNCryptor.
C++ Java Other
Switch branches/tags
Nothing to show
Clone or download

README.md

Android Arsenal

RNCryptorNative

Android JNI model implementation of Rob Napier's RNCryptor.

Import guide

dependencies {
    compile 'com.github.tgio:rncryptor-native:0.0.9'
}

Usage

RNCryptorNative rncryptor = new RNCryptorNative();

String encrypted = new String(rncryptor.encrypt(raw, password));

String decrypted = rncryptor.decrypt(encrypted, password)

or

String password = "StrongGeneratedPasswordxD";

RNCryptorNative.encryptAsync("test", password, new RNCryptorNative.Callback() {
  @Override
  public void done(String encrypted, Exception e) {
      System.out.println("encrypted async: " + encrypted);
  }
});

//Decrypt
RNCryptorNative.decryptAsync(encrypted, password, new RNCryptorNative.Callback() {
  @Override
  public void done(String decrypted, Exception e) {
      System.out.println("decrypted async: " + decrypted);
  }
});

//Working with files

//Encrypt

RNCryptorNative.encryptFile(new File("path/to/original"), new File("path/to/encrypted"), "password");

//Decrypt

RNCryptorNative.decryptFile(new File("path/to/encrypted"), new File("path/to/decrypted"), "password");

Benchmark:

You might know that JNCryptor (Java port for RNCryptor) already exists. But there is a huge problem - performance. This is why RNCryptorNative is better solution. Screenshots of benchmarks:

| | |

Credits

Rob Napier, RNCryptor Team, MPAndroidChart