Skip to content

Encrypt data stored in local client storage on Javascript Frontend Applications.

Notifications You must be signed in to change notification settings

urchymanny/aes-local-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AES Local Storage

AES Local Storage is a lightweight JavaScript library for encrypting data stored in localStorage using the AES-GCM algorithm. It provides a secure way to save, retrieve, and remove data from localStorage.

Installation

npm install aes-local-storage

Usage

Initialization

First, initialize the AESLocalStorage class with your encryption key.

import AESLocalStorage from "aes-local-storage";

const aesLS = AESLocalStorage.init("your-encryption-key");

Methods

saveToLocalStorage(name, data)

Saves data to localStorage with encryption.

  • Parameters:
    • name (string): The key under which data is stored.
    • data (any): The data to be saved. It will be serialized to JSON.

Example:

await aesLS.saveToLocalStorage("user", { username: "john_doe" });

getFromLocalStorage(name)

Retrieves and decrypts data from localStorage.

  • Parameters:

    • name (string): The key under which data is stored.
  • Returns: The decrypted data.

Example:

const userData = await aesLS.getFromLocalStorage("user");
console.log(userData); // { username: 'john_doe' }

removeFromLocalStorage(name)

Removes data from localStorage.

  • Parameters:
    • name (string): The key of the data to be removed.

Example:

aesLS.removeFromLocalStorage("user");

Example Usage

import AESLocalStorage from "aes-local-storage";

const aesLS = AESLocalStorage.init("your-encryption-key");

(async () => {
  // Save data
  await aesLS.saveToLocalStorage("settings", { theme: "dark" });

  // Retrieve data
  const settings = await aesLS.getFromLocalStorage("settings");
  console.log(settings); // { theme: 'dark' }

  // Remove data
  aesLS.removeFromLocalStorage("settings");
})();

Notes

  • Make sure to use a secure encryption key.
  • The encryption key must be in Base64 format.
  • Ensure that the environment supports the Web Crypto API for optimal security.

License

MIT

About

Encrypt data stored in local client storage on Javascript Frontend Applications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published