in reply to How safe is truncating an MD5 digest string?
Getting someone to type in 16 randon characters isn't going to be easy, especially if you want (need) accuracy. Recent versions of PGP get around this by having a dictionary of words used to represent groups of bits, so when a user tells someone their fingerprint, the reciever can then jot down the words instead of a long easy to mix up string of numbers. If the technique isn't patented, it may be worth a try.
You'll need to ballance the size of the dictionary against how much you want people to type. If you use four words, then each word needs to uniquely specify 16 bits, which means a wordlist of over 65,000 words. Requiring 8 words gives you a dictionary of only 256 words that represent 8 bits each. If you use a number like 6 words (11 bits each) just pad the code with zeros to get your words.
0000 0000 : happy
0000 0001 : joy
0000 0010 : smell
0000 0011 : trust
...
1010 1000 : horse
...
So a user typing in an url might type:
http://foo.bar.com/products?happy+horse+smell+trust+joy+trust+eat+circle
Make sure your dictionary is filtered for unpleasant words, easily mispelled words, homophones and near homophones (hear and here, then and than).
Good luck.
TGI says moo
|
|---|