RE: http://www.mediawiki.org/wiki/Requests_for_comment/Database_field_for_checks...
Recently, Adding MD5 / SHA1 column to revision table (discussing r94289) was discussed.
For some applications, I use the technique of representing the 128 bit of md5 or other checksums
as base-62 character strings instead of hexadecimal (base-16) strings.
When you need a non-binary, i.e. character representation for displaying, storing or transmitting checksums, you should always consider to use base-62 instead of base-16 representations (for md5 you need 22 bytes instead of 32 bytes).
When you encode the 128 bits of MD5 (example) in base-16 aka /hexadecimal/, you need CHAR(32). When you use the technique of enoding the 128 bits in /base-62/ with characters from [A-Za-z0-9], you'll need CHAR(22).
See http://de.php.net/manual/en/function.md5.php#83321 for one possible implementation.
I found this for example first in Microsofts free FCIV program which creates checksum xml files and uses this shorter representation.