X-Git-Url: http://git.tuebingen.mpg.de/osl.git/tree?a=blobdiff_plain;f=hash.h;h=585ef4e318c6963c2d071602636c272bad9e02d7;hb=HEAD;hp=08153383218a36bdd664508b920e2725153656b4;hpb=6811bf3ef3f157e82c189f22e0b5cedd8a8ba1db;p=osl.git diff --git a/hash.h b/hash.h index 0815338..585ef4e 100644 --- a/hash.h +++ b/hash.h @@ -14,13 +14,19 @@ /** Size of the hash value in bytes. */ #define HASH_SIZE 20 -void sha1_hash(const char *data, unsigned long len, unsigned char *sha1); +void sha1_hash(const char *data, unsigned long len, unsigned char *result); +void sha3_hash(const char *data, unsigned long len, unsigned char *result); +void sha256_hash(const char *data, unsigned long len, unsigned char *result); static inline void hash_function(uint8_t table_version, const char *data, unsigned long len, unsigned char *result) { - assert(table_version == 1); - sha1_hash(data, len, result); + switch (table_version) { + case 1: return sha1_hash(data, len, result); + case 2: return sha3_hash(data, len, result); + case 3: return sha256_hash(data, len, result); + } + assert(0); } /**