aboutsummaryrefslogtreecommitdiff
path: root/node_modules/browserify-aes/modes/cfb8.js
blob: c967a959fa7721f883f5952c10593ff1b4f547c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function encryptByte (self, byteParam, decrypt) {
  var pad = self._cipher.encryptBlock(self._prev)
  var out = pad[0] ^ byteParam
  self._prev = Buffer.concat([self._prev.slice(1), new Buffer([decrypt ? byteParam : out])])
  return out
}
exports.encrypt = function (self, chunk, decrypt) {
  var len = chunk.length
  var out = new Buffer(len)
  var i = -1
  while (++i < len) {
    out[i] = encryptByte(self, chunk[i], decrypt)
  }
  return out
}