18 lines
		
	
	
		
			342 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			342 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var xor = require('buffer-xor')
 | 
						|
 | 
						|
exports.encrypt = function (self, block) {
 | 
						|
  var data = xor(block, self._prev)
 | 
						|
 | 
						|
  self._prev = self._cipher.encryptBlock(data)
 | 
						|
  return self._prev
 | 
						|
}
 | 
						|
 | 
						|
exports.decrypt = function (self, block) {
 | 
						|
  var pad = self._prev
 | 
						|
 | 
						|
  self._prev = block
 | 
						|
  var out = self._cipher.decryptBlock(block)
 | 
						|
 | 
						|
  return xor(out, pad)
 | 
						|
}
 |