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.  * ISO 10126 padding strategy.
  9.  */
  10. CryptoJS.pad.Iso10126 = {
  11.     pad: function (data, blockSize) {
  12.         // Shortcut
  13.         var blockSizeBytes = blockSize * 4;
  14.  
  15.         // Count padding bytes
  16.         var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
  17.  
  18.         // Pad
  19.         data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).
  20.              concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
  21.     },
  22.  
  23.     unpad: function (data) {
  24.         // Get number of padding bytes from last byte
  25.         var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
  26.  
  27.         // Remove padding
  28.         data.sigBytes -= nPaddingBytes;
  29.     }
  30. };
  31.