Düzgün PRNG (Sözde Rastgele Sayı Üreticisi) algoritması aynı durumda asla bu süre boyunca bir döngü zamanı olacaktır. Eğer buradan alınan sayısında PRNG eyaletinin tamamını maruz varsa, jeneratörün dönemi için benzersiz garanti bir numara alacak.
Bunu yapar Basit PRNG 'denir doğrusal eşlik bir formül dolaşır' PRNG:
X(i) = AX(i-1)|M
faktörlerin sağ çifti kullanarak bir 32 bitlik akümülatör ile basit PRNG 2 ^ 30 (yaklaşık 1 milyar dolar) bir süre alabilir. Eğer hesaplama aracı 'AX' kısmını tutmak için uzun uzun geçici bir değişken 64 bit gerektiğini unutmayın. Çoğu hepsi değilse C derleyicileri bu veri türünü destekleyecek. Ayrıca çoğu SQL ağızları üzerine bir sayısal veri türü ile yapmak mümkün olmalıdır.
A ve M doğru değerler ile iyi istatistik ve geometrik özelliklere sahip rasgele sayı üreteci alabilirsiniz. Fishman ve Moore tarafından yazılan bu konuda ünlü bir kağıt var.
M = 2 ^ 31-1 güzel bir uzun bir süre (2 ^ 30 IIRC) ile PRNG elde etmek için A, aşağıdaki değerlerini kullanarak olsun.
Bir İyi Değerler:
742,938,285
950,706,376
1,226,874,159
62,089,911
1,343,714,438
Jeneratörün bu tür kriptografik güvenli değildir (tanım gereği) olduğuna dikkat edin. Ondan üretilen son numarayı biliyorsanız bir sonraki ne yapacağını tahmin edebilirsiniz. Ne yazık ki aynı anda kriptografik güvenlik ve garantili olmayan tekrarlanabilirlik alamayan inanıyoruz. Bir PRNG kriptografik olarak güvenli olması için (örneğin Blum Blum Shub ) bu numaralar dizi tahmin izin vermek için oluşturulmuş bir yeterli sayıda durum maruz olabilir. Bu nedenle dahili durum süresi oluşturulabilir olası değerler sayısından daha uzun olacaktır (iyi güvenlik amacıyla) üretilir sayıda daha geniş ve bir. Bu maruz numara süre içinde benzersiz anlamına gelir.
Benzer nedenlerden dolayı, aynı gibi uzun dönem jeneratörler geçerlidir Mersenne Twister.