1 | function encryptByte(self, byte, decrypt) {
|
2 | var pad = self._cipher.encryptBlock(self._prev);
|
3 | var out = pad[0] ^ byte;
|
4 | self._prev = Buffer.concat([self._prev.slice(1), new Buffer([decrypt?byte: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 | }; |
\ | No newline at end of file |