Hallo,
Das ist nicht ganz korrekt. Die MD5Sum ist wirklich eine Summe, also eine Zahl (128 Bit lang) keine Zeichenkette.
Jepp, aber wo du keine 128 Bit Entropie reinsteckst, kannst du auch keine 128 Bit Entropie rauskriegen. rand() spuckt einen integer aus, der in der Regel 32 Bit hat. Wenn also der andere Teil, über den die MD5-Summe berechnet wird, bekannt ist, brauchst du 'nur' noch 2^32 also 4294967296 Werte probieren.
PHPs md5() funktioniert nicht, oder wie soll ich das verstehen?
doch, aber wenn aber 32 Bit Werte hat für die man die Prüfsumme bildet, hast Du auuch nicht mehr md5() strings zur Auswahl!
Du möchtest also: a) mindestens 4 Zufallszahlen zusammenlegen (bitte nicht addieren, das würde eine Gaussche Verteilung geben und die ist Zufallsmäßig noch schlimmer),
Autsch.
Möchtest Du das da oben noch einmal korrigieren?
Das kann ich auch nicht nachvollziehen?! Was sollte man statt dessen machen? Wie soll ich 4 verbinden?
Ich hätte da noch ein paar Werte die mir in Verbundung mit rand(), mt_rand(), srand() und md5() doch eine zimlich zufällige ID liefern müssten:
php PHPSESSID
Apache UNIQUE_ID
microtime //immerhin 1 Mio Zahlen pro Sekunde!
email-Adresse, Referer, IP
Wie könnte ich aus all diesen doch recht zufälligen und schwer erratbaren Daten eine gute ID machen, mit möglichst vielen bit?
Leider habe ich für die anderen geposteten Lösungen nicht genügend Rechte!
Grüße
Andreas