in reply to Shorter ID Codes

Is shortening the number worth the hassle of dealing with similiar characters (one vs lowercase L, zero vs uppercase o, etc) and similar sounding characters ('v' vs 'b', 'm' vs 'n', etc).

btw, here's the savings you'd get:

1 base10 digit = 1 base64 digit = 0% saving
2 base10 digits = 2 base64 digits = 0% saving
3 base10 digits = 2 base64 digits = 25% saving
4 base10 digits = 3 base64 digits = 25% saving
5 base10 digits = 3 base64 digits = 40% saving
6 base10 digits = 4 base64 digits = 33% saving
7 base10 digits = 4 base64 digits = 43% saving
8 base10 digits = 5 base64 digits = 38% saving
9 base10 digits = 5 base64 digits = 44% saving
10 base10 digits = 6 base64 digits = 40% saving
11 base10 digits = 7 base64 digits = 36% saving
12 base10 digits = 7 base64 digits = 42% saving

And since you mentioned MD5... Hashing algorithms (e.g. MD5) are lossful. I suspect you need to be able to retrieve the unencoded digits, so hashing algorithms won't help you here.