Sha256: ad3360cb26c7d63276f8dca3288cdfc618473ba0e7dcef8bf5de70a9902861b0

Contents?: true

Size: 811 Bytes

Versions: 8

Compression:

Stored size: 811 Bytes

Contents

var xor = require('buffer-xor')

exports.encrypt = function (self, data, decrypt) {
  var out = new Buffer('')
  var len

  while (data.length) {
    if (self._cache.length === 0) {
      self._cache = self._cipher.encryptBlock(self._prev)
      self._prev = new Buffer('')
    }

    if (self._cache.length <= data.length) {
      len = self._cache.length
      out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])
      data = data.slice(len)
    } else {
      out = Buffer.concat([out, encryptStart(self, data, decrypt)])
      break
    }
  }

  return out
}
function encryptStart (self, data, decrypt) {
  var len = data.length
  var out = xor(data, self._cache)
  self._cache = self._cache.slice(len)
  self._prev = Buffer.concat([self._prev, decrypt ? data : out])
  return out
}

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
lanes-0.8.0 node_modules/browserify-aes/modes/cfb.js
minimum_viable_product-0.0.11 test/dummy/node_modules/browserify-aes/modes/cfb.js
brwy_rails-0.0.6 test/dummy/node_modules/browserify-aes/modes/cfb.js
brwy_rails-0.0.5 test/dummy/node_modules/browserify-aes/modes/cfb.js
brwy_rails-0.0.4 test/dummy/node_modules/browserify-aes/modes/cfb.js
brwy_rails-0.0.3 test/dummy/node_modules/browserify-aes/modes/cfb.js
brwy_rails-0.0.2 test/dummy/node_modules/browserify-aes/modes/cfb.js
brwy_rails-0.0.1 test/dummy/node_modules/browserify-aes/modes/cfb.js