From: Joel Rosdahl Date: Fri, 13 Aug 2010 20:58:06 +0000 (+0200) Subject: Add hash_equal() function X-Git-Tag: v3.1~85 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=65c847fa22931ee4aae172d9b5f9ffdd44484d93;p=thirdparty%2Fccache.git Add hash_equal() function --- diff --git a/ccache.h b/ccache.h index a317100f8..8ddc533b2 100644 --- a/ccache.h +++ b/ccache.h @@ -71,6 +71,7 @@ void hash_start(struct mdfour *md); void hash_buffer(struct mdfour *md, const void *s, size_t len); char *hash_result(struct mdfour *md); void hash_result_as_bytes(struct mdfour *md, unsigned char *out); +int hash_equal(struct mdfour *md1, struct mdfour *md2); void hash_delimiter(struct mdfour *md, const char* type); void hash_string(struct mdfour *md, const char *s); void hash_int(struct mdfour *md, int x); diff --git a/hash.c b/hash.c index d6b95bcd4..6220a545f 100644 --- a/hash.c +++ b/hash.c @@ -58,6 +58,15 @@ hash_result_as_bytes(struct mdfour *md, unsigned char *out) mdfour_result(md, out); } +int +hash_equal(struct mdfour *md1, struct mdfour *md2) +{ + unsigned char sum1[16], sum2[16]; + hash_result_as_bytes(md1, sum1); + hash_result_as_bytes(md2, sum2); + return memcmp(sum1, sum2, sizeof(sum1)) == 0; +} + /* * Hash some data that is unlikely to occur in the input. The idea is twofold: *