The URL encoding added in
conflicts with the base64 encoding support for dbCryptConfig, as URL decoding will transform the + allowed in base64 to a space, which results in an incorrect decoding or a decoding error.
We need to find a way to allow both to coexist.
1. Do not URL decode values starting with prefix base64: (under the assumption that if the `:` is not encoded as `%3a`, the remainder of the value is also not URL encoded)
2. Reinstate the + after decoding by replacing any ` ` (0x20) with `+`, possibly error prone
3. Switch to Base64.getUrlDecoder() (which would be an incompatible change, and would be problematic with Java 7 compatibility)
4. Explicitly document this, and recommend people to escape the `+` using `%2b`
Option 4 is the simplest and most standard, option 1 is probably the most flexible.