browser-storage-helpers
is a utility package for managing cookies, localStorage
, and sessionStorage
with encryption and decryption support. It includes methods for securely storing, loading, and removing data using modern browser storage mechanisms.
To install the package, run the following command:
npm install browser-storage-helpers
Securely store, load, and remove data in cookies, localStorage, and sessionStorage. Encrypt and decrypt stored data using XOR encryption. Built-in helpers for easy integration with browser storage mechanisms.
Importing the Helpers You can import the specific helpers as needed:
import { storeToLocalStorage, loadFromLocalStorage, clearFromLocalStorage } from 'browser-storage-helpers';
import { storeToSessionStorage, loadFromSessionStorage, removeFromSessionStorage } from 'browser-storage-helpers';
import { storeToCookie, loadFromCookie, clearFromCookie } from 'browser-storage-helpers';
storeToLocalStorage - Stores encrypted data in localStorage.
storeToLocalStorage('user', { name: 'John Doe', email: '[email protected]' });
loadFromLocalStorage - Loads and decrypts data from localStorage.
const user = loadFromLocalStorage('user');
console.log(user); # { name: 'John Doe', email: '[email protected]' }
clearFromLocalStorage - Removes the specified item from localStorage.
clearFromLocalStorage('user');
storeToSessionStorage - Stores encrypted data in sessionStorage.
storeToSessionStorage('sessionData', { sessionId: '12345' });
loadFromSessionStorage - Loads and decrypts data from sessionStorage.
const sessionData = loadFromSessionStorage('sessionData');
console.log(sessionData); # { sessionId: '12345' }
removeFromSessionStorage - Removes the specified item from sessionStorage.
removeFromSessionStorage('sessionData');
storeToCookie - Stores encrypted data in a cookie. You can specify options like path and expiration.
storeToCookie('token', { authToken: 'abc123' }, { path: '/', maxAge: 3600 });
loadFromCookie - Loads and decrypts data from a cookie.
const tokenData = loadFromCookie('token');
console.log(tokenData); # { authToken: 'abc123' }
clearFromCookie - Removes the specified cookie.
clearFromCookie('token', { path: '/' });
The data stored using localStorage, sessionStorage, and cookies is automatically encrypted using XOR encryption. You can customize the encryption by modifying the encryption key in your .env or project environment variables.
By default, the encryption key is fetched from the environment variable ENCRYPTION_SECRET_KEY.
The package uses the environment variable ENCRYPTION_SECRET_KEY for encrypting and decrypting data. You should define this variable in your .env file or environment configuration.
For example:
VITE_APP_ENCRYPTION_SECRET_KEY=mySuperSecretKey123
REACT_APP_ENCRYPTION_SECRET_KEY=mySuperSecretKey123
VUE_APP_ENCRYPTION_SECRET_KEY=mySuperSecretKey123
export const environment = {
production: false,
ENCRYPTION_SECRET_KEY: 'mySuperSecretKey123'
};