Fuzz Base64 and Base64URL (#4853)

Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
This commit is contained in:
Ernesto García
2024-01-24 09:09:41 -06:00
committed by GitHub
parent e86bb45477
commit 6b30d2d8de
4 changed files with 20 additions and 49 deletions

View File

@ -1,31 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
_encode() {
# - Print the input to stdout
# - Remove the first two characters
# - Convert from hex to binary
# - Convert from binary to base64
# - Remove newlines from `base64` output
echo -n "$1" | cut -c 3- | xxd -r -p | base64 | tr -d \\n
}
encode() {
# - Convert from base64 to hex
# - Remove newlines from `xxd` output
_encode "$1" | xxd -p | tr -d \\n
}
encodeURL() {
# - Remove padding from `base64` output
# - Replace `+` with `-`
# - Replace `/` with `_`
# - Convert from base64 to hex
# - Remove newlines from `xxd` output
_encode "$1" | sed 's/=//g' | sed 's/+/-/g' | sed 's/\//_/g' | xxd -p | tr -d \\n
}
# $1: function name
# $2: input
$1 $2