INNER CODE UNIT · TypeScript
transformPayload
KishanBagaria/padding-oracle-attacker · src/cli.ts:173
const transformPayload = (payload: Buffer) => {
const urlencode = dontURLEncodePayload ? (i: string) => i : encodeURIComponent
if (payloadEncoding === 'hex-uppercase') return payload.toString('hex').toUpperCase()
if (payloadEncoding === 'base64') return urlencode(payload.toString('base64'))
if (payloadEncoding === 'base64-urlsafe') return urlencode(toBase64Custom(payload, '-_'))
if (payloadEncoding.startsWith('base64(')) {
// base64 with custom alphabet. like "base64(-!~)"
const chars = payloadEncoding.slice('base64('.length).split('')
return urlencode(toBase64Custom(payload, chars))
}
return payload.toString('hex')
}
const isCacheEnabled = !disableCache && cache !== false
const commonArgs = { url, blockSize, isDecryptionSuccess, transformPayload, concurrency, requestOptions, isCacheEnabled }
if (isDecrypt) {
await decryptFunc({
...commonArgs,
ciphertext: strToBuffer(cipherOrPlaintext, false),