Blame view

node_modules/browserify-aes/modes/ofb.js 415 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  var xor = require('buffer-xor')
  
  function getBlock (self) {
    self._prev = self._cipher.encryptBlock(self._prev)
    return self._prev
  }
  
  exports.encrypt = function (self, chunk) {
    while (self._cache.length < chunk.length) {
      self._cache = Buffer.concat([self._cache, getBlock(self)])
    }
  
    var pad = self._cache.slice(0, chunk.length)
    self._cache = self._cache.slice(chunk.length)
    return xor(chunk, pad)
  }