1 | function encryptByte (self, byteParam, decrypt) {
|
2 | var pad = self._cipher.encryptBlock(self._prev)
|
3 | var out = pad[0] ^ byteParam
|
4 | self._prev = Buffer.concat([self._prev.slice(1), new Buffer([decrypt ? byteParam : out])])
|
5 | return out
|
6 | }
|
7 | exports.encrypt = function (self, chunk, decrypt) {
|
8 | var len = chunk.length
|
9 | var out = new Buffer(len)
|
10 | var i = -1
|
11 | while (++i < len) {
|
12 | out[i] = encryptByte(self, chunk[i], decrypt)
|
13 | }
|
14 | return out
|
15 | }
|