Spaces:
Running
Running
| var aes = require('./aes') | |
| var Buffer = require('safe-buffer').Buffer | |
| var Transform = require('cipher-base') | |
| var inherits = require('inherits') | |
| function StreamCipher (mode, key, iv, decrypt) { | |
| Transform.call(this) | |
| this._cipher = new aes.AES(key) | |
| this._prev = Buffer.from(iv) | |
| this._cache = Buffer.allocUnsafe(0) | |
| this._secCache = Buffer.allocUnsafe(0) | |
| this._decrypt = decrypt | |
| this._mode = mode | |
| } | |
| inherits(StreamCipher, Transform) | |
| StreamCipher.prototype._update = function (chunk) { | |
| return this._mode.encrypt(this, chunk, this._decrypt) | |
| } | |
| StreamCipher.prototype._final = function () { | |
| this._cipher.scrub() | |
| } | |
| module.exports = StreamCipher | |