All Projects → adorsys → encrypt-down

adorsys / encrypt-down

Licence: MIT license
An abstract-leveldown implementation that wraps another store to encrypt the stored values.

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to encrypt-down

Level
Fast & simple storage. A Node.js-style LevelDB wrapper for Node.js, Electron and browsers.
Stars: ✭ 1,071 (+6593.75%)
Mutual labels:  level
Cadeditor
NES Universal Level Editor (Chip & Dale, Darkwing Duck, Duck Tales, Duck Tales 2, MegaMan 4, Chip & Dale 2, Tale Spin, Little Mermaid, Jungle Book, Flintstones and many others)
Stars: ✭ 134 (+737.5%)
Mutual labels:  level
game-map-editor
game-map-editor
Stars: ✭ 17 (+6.25%)
Mutual labels:  level
Level Browserify
No longer maintained: superseded by level v5.0.0.
Stars: ✭ 64 (+300%)
Mutual labels:  level
Level Rocksdb
A convenience package bundling levelup and rocksdb.
Stars: ✭ 120 (+650%)
Mutual labels:  level
Awesome
An open list of awesome Level modules and resources.
Stars: ✭ 204 (+1175%)
Mutual labels:  level
Tiled
Flexible level editor
Stars: ✭ 8,411 (+52468.75%)
Mutual labels:  level
tevere
🏞 Decentralized DB over IPFS
Stars: ✭ 57 (+256.25%)
Mutual labels:  level
Party
Open a leveldb handle multiple times
Stars: ✭ 132 (+725%)
Mutual labels:  level
codec
Encode keys, values and range options, with built-in or custom encodings.
Stars: ✭ 27 (+68.75%)
Mutual labels:  level
Unity Plane Mesh Splitter
Unity Plane Mesh Splitter
Stars: ✭ 71 (+343.75%)
Mutual labels:  level
Electron Demo
Demo app loading LevelDB into an Electron context.
Stars: ✭ 79 (+393.75%)
Mutual labels:  level
advanced-level-editor
Advanced, but simple to use, runtime level editor for Unity.
Stars: ✭ 64 (+300%)
Mutual labels:  level
Pathwar
☠️ The Pathwar Project ☠️
Stars: ✭ 58 (+262.5%)
Mutual labels:  level
aarbac
An Automated Role Based Access Control .NET framework with T-SQL Query Parser which automatically parse select, insert, update, delete queries based on the logged in user role
Stars: ✭ 18 (+12.5%)
Mutual labels:  level
Multileveldown
multilevel implemented using leveldowns with reconnect support
Stars: ✭ 51 (+218.75%)
Mutual labels:  level
Rocksdb
Pure C++ Node.js RocksDB binding. An abstract-leveldown compliant store.
Stars: ✭ 138 (+762.5%)
Mutual labels:  level
level-ws
A basic writable stream for abstract-level databases.
Stars: ✭ 19 (+18.75%)
Mutual labels:  level
subleveldown
Split a levelup database into sublevels with their own keyspace, encoding and events.
Stars: ✭ 117 (+631.25%)
Mutual labels:  level
blender-xray
STALKER (aka xray-engine) import/export plugin for Blender 3D
Stars: ✭ 132 (+725%)
Mutual labels:  level

🔐 encrypt-down 🔐

All Contributors

leveldb Travis Coveralls npm npm Conventional Commits JavaScript Style Guide styled with prettier NpmLicense

encrypt-down is an encryption layer for LevelDB.

For LevelDB exist several persistence bindings. Amongst others bindings for IndexedDB.

By using encrypt-down it is possible to store lots (several MB) of sensitive user data securely (encrypted) in the browser across user sessions.

Installation

npm install @adorsys/encrypt-down

Usage

We need a JSON Web Key (JWK) or JSON Web Key Set (JWKS) as specified by RFC 7517.

const memdown = require('memdown')
const encryptdown = require('@adorsys/encrypt-down')
const levelup = require('levelup')
const jwk = {
  kty: 'oct',
  alg: 'A256GCM',
  use: 'enc',
  k: '123456789abcdefghijklmnopqrstuvwxyz12345678'
}
const memdb = memdown()
const db = levelup(encryptdown(memdb, { jwk }))

db.put('key', { awesome: true }, function (err) {
  memdb._get('key', { asBuffer: false }, function (err, value) {
        console.log(value)
        // eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIiwia2lkIjoialpESEVqN0ZhR3N5OHNUSUZLRWlnejB4TjFEVWlBZWp0S1ZNcEl2Z3dqOCJ9..LLeRPtRCpn-Zie6-.zZc0LQ_vvHCppRAaC5fxw4yJ0041l6mGOSgLDVnaPagSv_3Khp8a8lyAo9utHQKpVX6RNVaVPBQQxJpkw_Zyljeg7L-O_Nc3N2Hi_904qE6_zwORqQRc.R0JhfgTHIcD_93kXzZ8BrA
  })
  db.get('key', { asBuffer: false }, function (err, value) {
    console.log(value) 
    // { awesome: true }
  })
})

Browser Support

Sauce Test Status

API

const db = require('@adorsys/encrypt-down')(db[, options])

  • db must be an abstract-leveldown compliant store
  • options:
    • jwk: a JSON Web Key (JWK) or JSON Web Key Set (JWKS) as specified by RFC 7517

Credits

Made with ❤️ by radzom and all these wonderful contributors (emoji key):


Vincent Weevers

💬

Francis Pouatcha

🤔

Boris Skert

📖

Jan-Otto Kröpke

🚧 🚇

This project follows the all-contributors specification. Contributions of any kind are welcome!

Big Thanks

Cross-browser Testing Platform and Open Source Provided by Sauce Labs.

Sauce Labs logo

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].