Blame view

code/finance_web/node_modules/browserify-aes/modes/ofb.js 415 Bytes
a  
谢明辉 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
var xor = require('buffer-xor')

function getBlock (self) {
  self._prev = self._cipher.encryptBlock(self._prev)
  return self._prev
}

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)
}