RNCryptorNative

Additional

Language
C++
Version
0.0.9 (Jun 17, 2017)
Created
May 17, 2016
Updated
Feb 23, 2021 (Retired)
Owner
Giorgi TGIO Tabatadze (TGIO)
Contributors
Giorgi TGIO Tabatadze (TGIO)
Guri Getsadze (getsadzeg)
2
Activity
Badge
Generate
Download
Source code

Advertisement

Deprecated

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