Then there's a bunch of other stuff.
+ * `base32.h' does Base32 encoding and decoding. This is a
+ mad thing one needs for sha1 URNs.
+
* `base64.h' does Base64 encoding and decoding.
* `bits.h' provides some portable bit manipulation macros.
* `fdflags.h' encapsulates some traditional little dances with
fcntl when playing with nonblocking files.
+ * `hex.h' does hex encoding and decoding.
+
* `lock.h' does fcntl-style locking with a timeout.
* `quis.h' works out the program name from the value of
results. It's particularly handy with cryptographic
algorithms, I find.
+ * `unihash.h' provides universal hashing. This is useful in
+ hash tables for preventing uneven loading even in the
+ presence of a malicious person choosing the hash keys.
+
* `url.h' does url-encoding, which armours mostly-textual
name/value pairs so they contain no whitespace characters.
+-- [mdw]
- Mark Wooding
- mdw@nsict.org
\f
Local variables:
mode: text
.BR base64 (3)
module does base64 encoding and decoding, as defined in RFC2045. Base64
encodes arbitrary binary data in a reliable way which is resistant to
-character-set transformations and other mail transport bogosity.
+character-set transformations and other mail transport bogosity. The
+.BR base32 (3)
+module does base32 encoding and decoding, as defined in RFC2938. This
+is a mad format which is needed for sha1 URNs, for no good reason. The
+.BR hex (3)
+module does hex encoding and decoding.
.PP
The
.BR url (3)