I stumbled upon these little facts, why engineers chose Base32 over Base64 for shared secret key:
- The resulting character set is all one case, beneficial when using a case-insensitive filesystem, spoken language, or human memory.
- The Base32 result can be used as a file name because it can not possibly contain the
'/'
symbol, which is the Unix path separator. - To avoid similar-looking pairs of different symbols they picked an alphabet , so the strings can be accurately transcribed by hand. 4. Base32 result excluding padding can be included in a URL without encoding any characters.
I’m sure everyone mixed 'I','B','0'
and '1','8','0'
in hist life. RFC 4648 omits these symbols.