react-native-crypto-with-native
v0.1.1
Published
A native code for encryption and decryptions
Downloads
7
Readme
React Native Crypto Library
A React Native library for AES encryption and decryption using predefined or custom secret keys.
Installation
Using npm
npm install react-native-crypto-with-native
Using yarn
yarn add react-native-crypto-with-native
Linking
For React Native 0.60 and above, the library should automatically be linked. For older versions, you might need to link it manually.
react-native link react-native-crypto-with-native
Setup for Android
- Add the following lines to
android/settings.gradle
:
include ':react-native-crypto-with-native'
project(':react-native-crypto-with-native').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-crypto-with-native/android')
- Add the following dependency to
android/app/build.gradle
:
dependencies {
implementation project(':react-native-crypto-with-native')
}
- Add the import and package declaration in
MainApplication.java
:
import com.yourpackage.CryptoNativePackage; // <- Add this import
public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CryptoNativePackage() // <- Add this line
);
}
}
Usage
Import the Library
import { NativeModules } from 'react-native';
const { CryptoNative } = NativeModules;
Encrypt a Value
const valueToEncrypt = 'Hello, World!';
const secretKey = 'your-optional-secret-key'; // Pass null or undefined to use predefined key
CryptoNative.encryptValue(valueToEncrypt, secretKey)
.then((encryptedValue) => {
console.log('Encrypted Value:', encryptedValue);
})
.catch((error) => {
console.error('Encryption Error:', error);
});
Decrypt a Value
const encryptedValue = 'your-encrypted-value';
const secretKey = 'your-optional-secret-key'; // Pass null or undefined to use predefined key
CryptoNative.decryptString(encryptedValue, secretKey)
.then((decryptedValue) => {
console.log('Decrypted Value:', decryptedValue);
})
.catch((error) => {
console.error('Decryption Error:', error);
});
Get Predefined Key
CryptoNative.getPredefinedKey()
.then((predefinedKey) => {
console.log('Predefined Key:', predefinedKey);
})
.catch((error) => {
console.error('Error Getting Predefined Key:', error);
});
Methods
encryptValue(value: string, secretKey?: string): Promise<string>
Encrypts the provided value using the provided secret key or the predefined key if no key is provided.
decryptString(encryptedString: string, secretKey?: string): Promise<string>
Decrypts the provided encrypted string using the provided secret key or the predefined key if no key is provided.
getPredefinedKey(): Promise<string>
Returns the predefined secret key.
License
MIT
Replace `"react-native-crypto-with-native"` with the actual name of your library, and ensure the paths and package names are correctly specified according to your project structure. This `README.md` provides a basic overview and instructions for using your React Native crypto library.