$uniqeID= md5(microtime());
Meine Frage ist eigentlich: Wie gross ist die Wahrscheinlichkeit, dass ein MD5-String mehr als ein mal vorkommen kann. Oder kann gar nicht vorkommen, da ich die Funktion "microtime()" benutze?
Überlege doch bitte mal:
1. Für gleiche Eingangsdaten muß auch die md5-Prüfsumme zwangsläufig gleich sein, denn sonst wäre es keine Prüfsumme, sondern eine Art Zufallsgenerator.
Daraus folgt: Erstellst Du in derselben Mikrosekunde zwei $uniqueID nach obiger Methode, erhältst Du zwei gleiche $uniqueID-Werte.
2. Die Zeit bewegt sich konstant vorwärts, kein Zeitpunkt wiederholt sich.
Daraus folgt: microtime() ist für sich genommen innerhalb seiner Auflösung von 1 Mikrosekunde schon eindeutig.
Ergo: Der Einsatz von md5() ist hier vollkommen und restlos überflüssig.
Davon abgesehen sei angemerkt, daß viele Datenbanken in der Lage sind, innerhalb einer Tabellenspalte eindeutige, fortlaufende Kennungen zu erzeugen. Brauchst Du innerhalb einer Mikrosekunde mehrere Kennungen, ist diese zeitunabhängige Quelle vorzuziehen.