@storage-encryption/storage-encryption
TypeScript icon, indicating that this package has built-in type declarations

1.0.16 • Public • Published

Encrypt your client storage (available for TS & JS)

Welcome to Encrypt Storage 👋

Version Documentation Maintenance License: MIT

  • 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

🤝 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

  • Copyright © 2021 Nour.
  • This project is MIT licensed.

This README was generated with by readme-md-generator

Package Sidebar

Install

npm i @storage-encryption/storage-encryption

Weekly Downloads

55

Version

1.0.16

License

MIT

Unpacked Size

11.7 kB

Total Files

9

Last publish

Collaborators

  • nourkaroui