var Buffer = require('safe-buffer').Buffer | |
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), | |
Buffer.from([decrypt ? byteParam : out]) | |
]) | |
return out | |
} | |
exports.encrypt = function (self, chunk, decrypt) { | |
var len = chunk.length | |
var out = Buffer.allocUnsafe(len) | |
var i = -1 | |
while (++i < len) { | |
out[i] = encryptByte(self, chunk[i], decrypt) | |
} | |
return out | |
} |