Fast alle Browser (mit Ausnahme von Apple-WebKit unter Windows, das einen kryptografisch sicheren Zufallsgenerator nutzt) nutzen einen linearen Kongruenzgenerator mit unterschiedlicher Periode auf Basis der ursprünglichen Java-Implementation bzw. rand() in der GNU- oder BSD-C-Standardbibliothek. Ein Problem ist dabei, dass der Startwert dabei neben anderen Faktoren (z. B. Fenster-Handle beim IE) häufig nur vom Startzeitpunkt des Browserprozesses abhängt.
Deswegen kann es sein, dass der Zufall häufig nicht zufällig genug aussieht. Ich habe auch in ein Projekt wie von Dirk beschrieben eine Warteschlange eingebaut, die die letzten 100 Ergebnisse nicht als zufälliges Ergebnis zulässt. Da handelte es sich aber auch schon um den gesamten Bestand von Flashloops auf z0r.de, die sich in ihrer Gesamtheit z. Zt. auf 7099 belaufen.
Ggf. wäre ein anderer, in Javascript implementierter PRNG wie z. B. ein Mersenne-Twister geeignet.
Ansonsten kann ich deinen Anwendungsfall auch nicht weiter nachvollziehen.
var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 0; i < 20; i++) {
console.log( // yay, funktionales Programmieren
Array.apply(null, Array(60)).map(function(_, i) {
return alphabet.charAt(Math.floor(Math.random() * alphabet.length))
}).join("")
)
}
BZJRBKXQGHGZJRKXRZGPNXRPAWAEPDLWFPJVJEERXGFGYGQXLLUNBXOGTXBQ
BDDCPPKLPGRGDSIFHABRMMNLGGTYXGKNLVMXDJHBMPPEABLQGZCXWYAMXIZY
UGOUUKNARTDXPWQOZOYCOBZXJCUYTUKAMIFIMACFVERUNGCXYVJWWMWEZAZC
VYHYQAKJZLPPAPVQDQBHTDHZNTLRKSTXONSHNAGBBIHKXGNOWVXPWFIMEWST
ITOIUOQOFQLMKZLOVWUAWFXIIGUCDODWLYYMGSKFLFIZFOHCZFXRRNGLUCZA
NEOBYNLMEQFLBGFIDFSHEPFNOZIPCUGXTHEFMMVGCRZYEIURLQNFKXQOFQDJ
VHDGPBAZUWJOFYLUOMZGOTSVJUBNGVAFHMQACPCNGYRMKILWDYUWTXJXKYJV
MFNCQJWGYMPADYPDHERJSWRAAZGHNADVXTTWINXLAUOVNNKIVVHNANYVJAFU
RJJJLXWLUACPGEKMCHFWNRFTCRQXDYNTRFROPNOTHEDXSJIKMOPUVIJVWCJL
YOJGSHMRNIJKGZVMWQFOULRGXBGNRORVHXANOEPMDJMXKLDQEUIGFEGBFPUG
SWNHBQTKDPBUWZRESNXZAJEPAQCDYXOHYEYRVZMITIFDGPNCFVPZQZIVZCVP
GPYYWTEXQQDIHRWSZQVOCEUZMYYDOKTQYITBJSTGTYVLCHCVFINJGUZDXEAO
WECGJIDXLGFZFRTGLWVGZHHYVITSUJLFMIILNRTEXWPLYPXUEPDBBZDUHQFQ
VJVVWABNLFWEOBRHPOJQKHGMZPPOJBOLRVVJRORWWGDOIEAQNSOFUIKLDDRY
TZWFQDUDOTUQCAKXZOOCZDCKTKLSORNMMMJAMLJVENPAGWTXRVLNLOLMEVZZ
KAAWEMUHMEQGKQMRJIWPIQUFOGKCGURQEOVBVSWVSSIUSSBDKPRWNJELUOAQ
OFWEXHPIPNIUSDLNCQFVVHCFOHADWDXXKQGQPDHTEJYAEMXKXCUJYIFZQDHQ
CYKYNFBHDPCVYWYOGBTTDHYOEFOJNIREEDKATMGUENJMYEPPQEEAWAJITMTE
EEODYLFEJSFIMHSALGGKFCJQABINPIGLAWUTXOQQGZLDKZMUOTCRZYYJKQCA
JRPPDUGDGZOTPISHQCRQCBYEAHHSVHTCBHOSQGYKABIDTHHSFIPXVGONWVPR
Alles anzeigen
