| 123456789101112131415161718192021222324252627282930 |
- /**
- * Zero padding strategy.
- */
- export const ZeroPadding = {
- pad(data, blockSize) {
- const _data = data;
- // Shortcut
- const blockSizeBytes = blockSize * 4;
- // Pad
- _data.clamp();
- _data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
- },
- unpad(data) {
- const _data = data;
- // Shortcut
- const dataWords = _data.words;
- // Unpad
- for (let i = _data.sigBytes - 1; i >= 0; i -= 1) {
- if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
- _data.sigBytes = i + 1;
- break;
- }
- }
- },
- };
|