Fuzz Base64 and Base64URL (#4853)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
This commit is contained in:
@ -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
|
||||
Reference in New Issue
Block a user