first
This commit is contained in:
30
node_modules/crypto-es/lib/pad-zeropadding.js
generated
vendored
Normal file
30
node_modules/crypto-es/lib/pad-zeropadding.js
generated
vendored
Normal file
@@ -0,0 +1,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;
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user