Better silc_hash_public_key.
authorPekka Riikonen <priikone@silcnet.org>
Tue, 12 Apr 2005 10:44:59 +0000 (10:44 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Tue, 12 Apr 2005 10:44:59 +0000 (10:44 +0000)
lib/silcutil/silcutil.c

index 8fbb564fa307d238e63c537b7f39f15079d84187..a3746f92ff8bf9f745c731cc17f99bfae5bdfb97 100644 (file)
@@ -588,9 +588,9 @@ SilcUInt32 silc_hash_data(void *key, void *user_context)
 SilcUInt32 silc_hash_public_key(void *key, void *user_context)
 {
   SilcPublicKey pk = (SilcPublicKey)key;
-  return (pk->len + silc_hash_string(pk->name, NULL) +
-         silc_hash_string(pk->identifier, NULL) +
-         silc_hash_data(pk->pk, SILC_32_TO_PTR(pk->pk_len)));
+  return (pk->len + (silc_hash_string(pk->name, NULL) ^
+                    silc_hash_string(pk->identifier, NULL) ^
+                    silc_hash_data(pk->pk, SILC_32_TO_PTR(pk->pk_len))));
 }
 
 /* Compares two strings. It may be used as SilcHashTable comparison