@storage-encryption/storage-encryption
v1.0.16
Published
Encrypt your client storage (available for TS & JS)
Downloads
169
Maintainers
Readme
Encrypt your client storage (available for TS & JS)
Encrypt your storage using AES symmetric encryption algorithm
JS and TS
🏠 Homepage
Install
npm i @storage-encryption/storage-encryption
How it works
- The constructor of EncryptedStorage takes two arguments:
- secret(required): the secret key (a string) that we'll use in the encryption
- storage(optional): localStorage / sessionStorage. storage is localStorage by default.
- Methods provided by encryptedStorage:
- encrypt(storage_key: string, data: any): void
- decrypt(storage_key: string): any
- remove(storage_key: string): void
Encrypt Local/Session Storage (For Typescript)
import {EncryptStorage} from '@storage-encryption/storage-encryption';
// the constructor takes the secret key as a first parameter and an optional
// second parameter as the storage type
// if none is provided it'll be localStorage by default
const encryptStorage = new EncryptStorage(SECRET_KEY, 'sessionStorage');
/*** for a string ***/
encryptStorage.encrypt('storage_key', 'Hello world');
const stringValue = encryptStorage.decrypt('storage_key');
/*** for an object ***/
encryptStorage.encrypt('storage_key', {'name': 'Hello world'});
const objectValue = encryptStorage.decrypt('storage_key');
/*** for a number ***/
encryptStorage.encrypt('storage_key', 1);
const numberValue = encryptStorage.decrypt('storage_key');
/*** for an array ***/
encryptStorage.encrypt('storage_key', [1, 2, 3]);
const arrayValue = encryptStorage.decrypt('storage_key');
encryptStorage.remove('storage_key');
Encrypt Local/Session Storage (For Javascript)
const { EncryptStorage } = require('@storage-encryption/storage-encryption')
const encryptStorage = new EncryptStorage(SECRET_KEY, 'localStorage');
/*** for a string ***/
encryptStorage.encrypt('storage_key', 'Hello world');
const stringValue = encryptStorage.decrypt('storage_key');
/*** for an object ***/
encryptStorage.encrypt('storage_key', {'name': 'Hello world'});
const objectValue = encryptStorage.decrypt('storage_key');
/*** for a number ***/
encryptStorage.encrypt('storage_key', 1);
const numberValue = encryptStorage.decrypt('storage_key');
/*** for an array ***/
encryptStorage.encrypt('storage_key', [1, 2, 3]);
const arrayValue = encryptStorage.decrypt('storage_key');
encryptStorage.remove('storage_key');
A BETTER WAY TO DO IT
- Instantiate the encryptStorage object in a shared folder and export it
- So you won't have to instantiate it in each file
import EncryptStorage from '@storage-encryption/storage-encryption';
export const encryptSessionStorage = EncryptStorage(SECRET_KEY, 'sessionStorage');
export const encryptLocalStorage = EncryptStorage(SECRET_KEY);
Author
👤 Nour
- Github: @nour-karoui
- LinkedIn: @nourkaroui
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.
Show your support
Give a STAR if this project helped you!
📝 License
This README was generated with by readme-md-generator