1.0.3 • Published 12 months ago

aes-local-storage v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

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