Various cryptlib updates (ticket #49)

Use crc32() to create a salt from the plaintext. This means the output
is stable for any (key, plaintext) pair, which allows the key to be used
client side for caching and comparisons, and as a canonical ID.

Use hex encoding as per ticket