UNPKG

imba

Version:

Intuitive and powerful language for building webapps that fly

19 lines (18 loc) 517 B
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; } export const 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; };