lgq
3 天以前 081f12a52906abe6c2d139fdc144135978681009
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * 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;
      }
    }
  },
};