| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 | | 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 |  | } | 
 |