ID oder userID

hey leute,

hab nur eine kurze frage.
es geht um die eindeutige identifikation von usern auf unserer homepage.
Es ist ja mittels einer mysql datenbank und auto_increment möglich eine sich selbst steigernde id zu erstellen.
desweiteren könnte man auch einen hash code zur identifikation erstellen, der verschieden user eigenschaften enthält. (md5 hast z.b.)

was haltet ihr für sinnvoller?
die auto_increment id oder eine selbst erstellt userID?

mittels dieser identifizierung sollen sachen wie kontaktlisten oder andere dinge gesteuert werden.

mfg
Mad Dog

Wie würdest du denn garantieren, dass jeder Wert in der Tabelle nur einmal vorkommt, wenn du einen md5-hash verwendest? Afaik gibt es recht schnelle Algorithmen, die zu einer gegebenen Zeichenkette eine andere erzeugen, welche den gleiche md5-hash hat - damit wären die Daten nicht mehr sicher wenn sich eine Person entsprechend anmeldet.

Der Vorteil davon ist jedoch, dass User besser geschützt sind vor willkürlichen Zugriffen auf ihre Profile. So kann ein Bot leicht alle User-IDs von 1 bis 10.000 durchgehen und Daten klauen - bei einem 128-bit Hashwert geht das nicht ohne weiteres.

Du müssetst dir also einen schlauen Weg einfallen lassen, um jedem User einen eindeutigen und nicht vorhersehbaren hash zuzuordnen.

naja ich habe in der methode md5 hashes, welche zu einem string zusammengefügt werden und anschliesend erneut mittels der md5 hash funktion verschlüsselt werden.
von den md5 hashs welche ich zu beginn besitzte sind 2 unique.

sollte das nicht das doppelte vorkommen von md5 hashs verhindern?

Dann musst du allein auf dein Glück hoffen, bzw. darauf dass niemand rausfindet wie du die hashs erzeugst und versucht den gleichen hash zu erstellen wie eine andere Person.

hmmm okay aber abgesehen von dem sicherheitsrisiko (über das ich noch weiter nachdenken werde, habe verstanden was du meinst :)) welche art wäre besser bzw vorteilhafter?

es ist vollkommen sinnfrei, eindeutigkeit mir etwas anderem als autowert erzeugen zu wollen, da die datenbank sicher bis ~ zählen kann und jeden wert bei autowert nur einmal vergibt. nun ist ein autowert sowas von einfach, wieso also etwas anderes machen?

es ist vollkommen sinnfrei, eindeutigkeit mir etwas anderem als autowert erzeugen zu wollen, da die datenbank sicher bis ~ zählen kann und jeden wert bei autowert nur einmal vergibt. nun ist ein autowert sowas von einfach, wieso also etwas anderes machen?

deswegen ja die frage ob es sich lohnt bzw was besser ist.
hab nur überlegt was ist, wenn aus irgendeinem grund die user in verschiedene tabellen gesplittet werden oder sonst irgendwas. jedoch ist mir selbst kein genauer grund eingefallen, ausser um vlt zeit zu sparen.