Subversion Repositories cryptochat

Rev

View as "text/javascript" | Blame | Last modification | View Log | RSS feed

  1. /*
  2. CryptoJS v3.1.2
  3. code.google.com/p/crypto-js
  4. (c) 2009-2013 by Jeff Mott. All rights reserved.
  5. code.google.com/p/crypto-js/wiki/License
  6. */
  7. /**
  8.  * Zero padding strategy.
  9.  */
  10. CryptoJS.pad.ZeroPadding = {
  11.     pad: function (data, blockSize) {
  12.         // Shortcut
  13.         var blockSizeBytes = blockSize * 4;
  14.  
  15.         // Pad
  16.         data.clamp();
  17.         data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
  18.     },
  19.  
  20.     unpad: function (data) {
  21.         // Shortcut
  22.         var dataWords = data.words;
  23.  
  24.         // Unpad
  25.         var i = data.sigBytes - 1;
  26.         while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
  27.             i--;
  28.         }
  29.         data.sigBytes = i + 1;
  30.     }
  31. };
  32.