pad-zeropadding.js 514 B

12345678910111213141516171819202122232425
  1. /**
  2. * Zero padding strategy.
  3. */
  4. CryptoJS.pad.ZeroPadding = {
  5. pad: function (data, blockSize) {
  6. // Shortcut
  7. var blockSizeBytes = blockSize * 4
  8. // Pad
  9. data.clamp()
  10. data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes)
  11. },
  12. unpad: function (data) {
  13. // Shortcut
  14. var dataWords = data.words
  15. // Unpad
  16. var i = data.sigBytes - 1
  17. while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
  18. i--
  19. }
  20. data.sigBytes = i + 1
  21. }
  22. }