X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=ucw%2Fdoc%2Fhash.txt;h=3e01b94156c23de6d9a79f7732f7992954787a89;hb=342e0c3edeacf4eecd03da36c879ca817c64a0f3;hp=22459c1ca4c516294394dbb769cf20caee16bdbf;hpb=90676f283e64e478958fc690a9c2b2472bb0f9e8;p=libucw.git diff --git a/ucw/doc/hash.txt b/ucw/doc/hash.txt index 22459c1c..3e01b941 100644 --- a/ucw/doc/hash.txt +++ b/ucw/doc/hash.txt @@ -2,25 +2,42 @@ Hashing routines ================ Libucw contains two cryptographic hash algorithms: MD5 (RFC 1321) and SHA1 (RFC -3174). +3174). A SHA1-HMAC (RFC 2104) message authentication is available. + +There are non-cryptographic hashes as well. + +<>: - <> - <> +- <> - <> +<>: +- <> + +<>: + +- <> +- <> + +[[crypto]] +Cryptographic hashes +-------------------- + [[md5]] MD5 ---- +~~~ !!ucw/md5.h [[sha1]] SHA1 ----- +~~~~ !!ucw/sha1.h [[usage]] -Usage ------ +Common usage +~~~~~~~~~~~~ There are two ways you can use the hashing routines. @@ -48,3 +65,24 @@ There are two ways you can use the hashing routines. SHA1 has the same interface, so the same two ways apply. See also <>. + +[[checksum]] +Checksums +--------- + +Their purpose is checking against random data changes, hardware +failures and alike. They are not to be used against aimed attacks. + +The <> is documented in the +<>. + +[[nocrypto]] +Non-cryptographic hashes +------------------------ + +They are usually used to identify values in hash tables. + +All these functions expect to be moduled by the size of a hash table. +The size should be a prime number (it gives better distribution). + +!!ucw/hashfunc.h