Blame view

node_modules/browserify-aes/streamCipher.js 659 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  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