diff --git a/vipre-manager.h b/vipre-manager.h index f8969a7..5e5bb8e 100644 --- a/vipre-manager.h +++ b/vipre-manager.h @@ -77,8 +77,8 @@ unsigned long __generate_hash(char* str) { unsigned long ret = 0; size_t max = strlen(str); while (pos < max) { - ret += (unsigned char)str[pos]; - if (ret > (unsigned long)ULONG_MAX - 10) ret = 32; + ret += (unsigned char)str[pos] * pos; + if (ret > (unsigned long)ULONG_MAX - 8) ret = 32; pos ++; } if (ret == 0) ret ++; @@ -326,4 +326,4 @@ int parse_file_data(int argc, char** argv) { #undef true #undef false -#endif \ No newline at end of file +#endif