Skip to content

JSON storage library to securely persist json data on disk

License

Notifications You must be signed in to change notification settings

HydroCarbons/secure-json

Repository files navigation

Secure-JSON Icon

Travis CI Status

Build Status Coverage Status

Secure JSON

  • Secure JSON JSON storage library to securely persist JSON data on disk. Cipher is configured to use AES-256-CBC with initialization vector.
  • There are two types of storage schema: inmemory or disk
    • inmemory: Store items are not persisted on disk and are not encrypted.
    • disk: Store items are persisted on disk and can be encrypted.

Usage

Install

npm install secure-json --save

Require

const SecureJStore = require("secure-json");

Create an instance of SecureJStore

var instance = new SecureJStore();

Initialize instance with options

var options = {
    store: <Path to SecureJStore directory>,
    dbType: <Specify "inmemory" or "disk">,
    password: <Specify password to encrypt the SecureJStore>
  };

instance.init(options);

Create an instance of SecureJStore

var instance = new SecureJStore();

Storing an item

instance.setItem("key1", "value1");

Retrieving an item

let value = instance.getItem("key1");

Removing an item

let value = instance.removeItem("key1");

Retrieving all keys

let keys = instance.keys();

Retrieving all values

let values = instance.values();

Retrieving all entries of (key, value) pairs

let items = instance.entries();

Retrieving all entries with for...of loop

for(let item of instance ) { ... }

Retrieving all entries with forEach loop

instance.forEach( (x) => { ... });

Archiving instance

instance.archive();

Library Usage/Test

Install

npm install

Test

npm run test

Coverage

npm run coverage

OR

istanbul cover ./test/test.js

Check coverage folder