UNPKG

json-q

Version:

Retrieves values from JSON objects (and JavaScript objects) by css-selector-like query (includes attribute filters and array flattening).

26 lines (25 loc) 761 B
var aes = require('./aes'); var Transform = require('./cipherBase'); var inherits = require('inherits'); inherits(StreamCipher, Transform); module.exports = StreamCipher; function StreamCipher(mode, key, iv, decrypt) { if (!(this instanceof StreamCipher)) { return new StreamCipher(mode, key, iv); } Transform.call(this); this._cipher = new aes.AES(key); this._prev = new Buffer(iv.length); this._cache = new Buffer(''); this._secCache = new Buffer(''); this._decrypt = decrypt; iv.copy(this._prev); this._mode = mode; } StreamCipher.prototype._transform = function (chunk, _, next) { next(null, this._mode.encrypt(this, chunk, this._decrypt)); }; StreamCipher.prototype._flush = function (next) { this._cipher.scrub(); next(); };