I'm wondering why all databases seem to store hashed passwords and typical hexadecimal data as char(x)/varchar(x)
MySQL uses latin1_swedish_ci as default character encoding, where each character is made of 8 bits.
When storing hexadecimal data as strings, you're only using 4 bits of those 8 bits you can use, as there are only 16 usable characters.
So am I not seeing something here? Is there a character encoding specifically for this kind of stuff using 4 bits per character? Or are some companies actually making use of all the reserved space to store hexadecimal stuff at least, doesn't matter how?