0.1.0 • Published 10 years ago
bookshelf-encrypt-columns v0.1.0
bookshelf-encrypt-columns 
This Bookshelf.js plugin enables you to define which model columns are encrypted on save/update. Those columns will also be automatically decrypted when fetched.
Installation
Install the package via npm:
$ npm install --save bookshelf-encrypt-columnsUsage
Require and register the bookshelf-encrypt-columns plugin:
var bookshelf = require('bookshelf')(knex);
var encryptColumns = require('bookshelf-encrypt-columns');
bookshelf.plugin(encryptColumns, {
cipher: 'a-valid-cipher',
key: 'your-strong-key'
});Both cipher and key are required. By default, the plugin will use the aes-256-ctr cipher. For a list of valid ciphers, please see the Node Crypto docs. Be sure to store your key in a secure location and avoid passing it to the plugin directly.
Define which columns are encrypted with the encryptedColumns prototype property:
bookshelf.Model.extend({
encryptedColumns: ['secret'],
tableName: 'test'
});License
MIT
Credits
This plugin was inspired by and borrows heavily from the bookshelf-json-columns plugin.