Nascent Prototype Metaverse
    Wondering what’s next for npm?Check out our public roadmap! »

    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

    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)

    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)

    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
    import EncryptStorage from '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

    Install

    npm i storage-encryption

    DownloadsWeekly Downloads

    7

    Version

    1.0.16

    License

    MIT

    Unpacked Size

    11.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar