Hallo, wie kann ich aus einer Zeichenfolge (ca. 10-30 Zeichen) einen Hashcode berechnen. Meine Anforderungen an den Algorithmus sind, dass er erstens unwahrscheinlich schnell ist und zweitens möglichst gut sich auf möglichst viele Hash-Felder verteilen lässt.
Ich habe mal einen primitiven Ansatz mir ausgedacht, weiss aber nicht ob der so ideal ist. Ich zähl einfach den Ascii-Code jedes Zeichens zusammen und mach dann ein Modulo durch die Feldanzahl.
Hier der Code:
#define HASH\_HEIGHT 1000
char\* string = "Dies ist der Text";
int key = 0;
char\* iterate = string;
while (\*iterate != '\0')
{
key += \*iterate;
iterate++;
}
key %= HASH\_HEIGHT;