Encrypt your client storage (available for TS & JS)
npm install storage-encryptionEncrypt your client storage (available for TS & JS)
sh
npm i storage-encryption
`
How it works
* The constructor of EncryptStorage 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 encryptStorage:
* encrypt(storage_key: string, data: any): void
* decrypt(storage_key: string): any
* remove(storage_key: string): void
Encrypt Local/Session Storage (For Typescript)
`ts
import {EncryptStorage} from '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)
`js
const { EncryptStorage } = require('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
``ts
import EncryptStorage from 'storage-encryption';
export const encryptSessionStorage = EncryptStorage(SECRET_KEY, 'sessionStorage');
export const encryptLocalStorage = EncryptStorage(SECRET_KEY);
```