For new projects, I would also recommend considering the "Canonical"
Base32 as defined in:

    http://www.ietf.org/internet-drafts/draft-josefsson-base-encoding-03.txt

Advantages of Base32 over hex:
(1) More compact
   (and thus more likely to fit on a single line in communications, etc.)
(2) More letters mean more chances that people can recognize
   distinct values at-a-glance (e.g. difference between phone numbers
   and license plates, improved odds of recognizable/mnemonic identifiers)

Advantages of Base32 over Base64:
(1) Case insensitive
   (advantageous for many filesystem, webserving, DNS, and sight-reading uses)
(2) Uses only alphanumeric characters
   (no need to worry about different URL-safe chars for digits 62 and 63)
   (all identifiers are seen as unbroken single tokens by legacy indexing
    schemes, e.g. Google)

My project -- the Bitzi content catalog -- uses Base32 as the preferred
display representation of hash values (but accepts other encodings for
lookups).

Justin Chapweske's "Content-Addressable-Web" (CAW) HTTP extensions 
(http://www.onionnetworks.com/caw/index.html) and the "Hash/URN
Gnutella
Extensions" (HUGE) approach for integrating hash values into
Gnutella use Base32-encoded hash values.

The "Backslash" proposal for a P2P-caching system to address "flash
crowds" (http://mosquitonet.stanford.edu/publications/Backslash-IPTPS2002.pdf)
uses Base32-encoded hashes of URLs to allow easy mapping of URL-space into
a virtual DNS space.

- Gojomo
____________________
Gordon Mohr  gojomo@      At Bitzi, people cooperate to identify, rate,
bitzi.com  Bitzi CTO      describe and discover files of every kind.
_ http://bitzi.com _      Bitzi knows bits -- because you teach it!






_______________________________________________
freenet-tech mailing list
[EMAIL PROTECTED]
http://lists.freenetproject.org/mailman/listinfo/tech

Reply via email to