AES-GCM encryption/decryption for React Native
npm install react-native-aes-gcm-crypto
import AesGcmCrypto from 'react-native-aes-gcm-crypto';
const key = 'Yzg1MDhmNDYzZjRlMWExOGJkNTk5MmVmNzFkOGQyNzk=';
AesGcmCrypto.decrypt(
'LzpSalRKfL47H5rUhqvA',
key,
'131348c0987c7eece60fc0bc',
'5baa85ff3e7eda3204744ec74b71d523',
false
).then((decryptedData) => {
console.log(decryptedData);
});
AesGcmCrypto.encrypt('{"name":"Hoge"}', false, key).then((result) => {
console.log(result);
});
type EncryptedData = {
iv: string;
tag: string;
content: string;
};
function encrypt(
plainText: string,
inBinary: boolean,
key: string
): Promise<EncryptedData>;
inBinary
is true
, it should be encoded in Base64.true
to encrypt binary data encoded with Base64function encryptFile(
inputFilePath: string,
outputFilePath: string,
key: string
): Promise<{
iv: string;
tag: string;
}>;
function decrypt(
base64Ciphertext: string,
key: string,
iv: string,
tag: string,
isBinary: boolean
): Promise<string>;
true
to return decrypted data in Base64function decryptFile(
inputFilePath: string,
outputFilePath: string,
key: string,
iv: string,
tag: string
): Promise<boolean>;
true
to return decrypted data in Base64See the contributing guide to learn how to contribute to the repository and the development workflow.
Takuya Matsuyama | @inkdrop_app
Made for my app called Inkdrop - A Markdown note-taking app
MIT