Sto usando Python 2.5 su Linux, in più processi FCGI paralleli. Io usorandom.choice non random
chars = string.ascii_letters + string.digits
cookie = ''.join([random.choice(chars) for x in range(32)])
per generare cookie distinti. Supponendo che l'RNG sia estratto da/dev/urandom, e che la sequenza di numeri casuali provenga dal twister di Mersenne, mi aspetto che ci sia praticamente zero possibilità di collisione.
Tuttavia, vedo collisioni regolari, anche se solo pochi utenti (< 100) hanno effettuato l'accesso in qualsiasi momento.
Perché i numeri casuali non sono più casuali?
Che cosa sono i caratteri? Se hai un singolo personaggio lì dentro avrai sempre collisioni (per illustrare il punto) –
qual è la lunghezza dell'elenco dei caratteri? –
Ho aggiunto la mia definizione di caratteri ora - non è un singolo personaggio, ma ha 62 scelte. –