| 123456789101112131415161718192021222324252627282930 |
- import {
- WordArray,
- } from './core.js';
- /**
- * ISO 10126 padding strategy.
- */
- export const Iso10126 = {
- pad(data, blockSize) {
- // Shortcut
- const blockSizeBytes = blockSize * 4;
- // Count padding bytes
- const nPaddingBytes = blockSizeBytes - (data.sigBytes % blockSizeBytes);
- // Pad
- data
- .concat(WordArray.random(nPaddingBytes - 1))
- .concat(WordArray.create([nPaddingBytes << 24], 1));
- },
- unpad(data) {
- const _data = data;
- // Get number of padding bytes from last byte
- const nPaddingBytes = _data.words[(_data.sigBytes - 1) >>> 2] & 0xff;
- // Remove padding
- _data.sigBytes -= nPaddingBytes;
- },
- };
|