Sha256: 0283e5495735ce9220d68defc4504ec42d422d2234a7452dcf85dcbde829a762
Contents?: true
Size: 668 Bytes
Versions: 62
Compression:
Stored size: 668 Bytes
Contents
var xor = require('../xor'); function getBlock(self) { var out = self._cipher.encryptBlock(self._prev); incr32(self._prev); return out; } exports.encrypt = function (self, chunk) { while (self._cache.length < chunk.length) { self._cache = Buffer.concat([self._cache, getBlock(self)]); } var pad = self._cache.slice(0, chunk.length); self._cache = self._cache.slice(chunk.length); return xor(chunk, pad); }; function incr32(iv) { var len = iv.length; var item; while (len--) { item = iv.readUInt8(len); if (item === 255) { iv.writeUInt8(0, len); } else { item++; iv.writeUInt8(item, len); break; } } }
Version data entries
62 entries across 62 versions & 1 rubygems