Одакле почети
Прочитајте шта је генератор случајних бројева: хардверски, псеудослучајни и криптографски сигурни генератори, зашто се бројеви понављају и шта прегледач има да понуди. Када су вам потребни бројеви а не објашњење, генератор случајних бројева их извлачи у вашем прегледачу у било ком распону, са понављањем или без њега.
Где генератори тихо греше
Снажан извор случајности представља само половину посла. Друга половина је пресликавање сирових вредности на ваш распон, и управо ту многи генератори из кућне радиности подбацују. Узимање остатка при дељењу са величином распона (модуло) очигледан је приступ, али доноси суптилну пристрасност: осим ако величина распона не дели излазни простор извора без остатка, најнижи бројеви у распону појављују се нешто чешће од осталих. Ова мана назива се пристрасност модула (modulo bias). Једно од решења је узорковање са одбацивањем (rejection sampling): одбаците вредности које падну у неуједначени остатак и извлачите поново. Наш генератор управо то ради, тако да сваки број у вашем распону има исту шансу при сваком извлачењу.
Исти разлог искључује и пречице за којима људи најпре посегну. Math.random() не гарантује ништа у погледу сигурности, а функције у табелама као што су RAND() и RANDBETWEEN() припадају истој класи: добре за грубо мешање, погрешне за било шта што би неко могао да оспори.
Бројеви, листе и коцкице
Генератор случајних бројева враћа бројеве из распона који сами одредите. Алат за случајан избор са листе ради са листом коју налепите — именима, пријавама, опцијама — тако да никада не морате ручно да повезујете бројеве са редовима. За друштвене игре бацање коцкица баца коцкице и сабира њихове вредности, док је за избор између две могућности довољно бацање новчића. Када случајност треба нешто да заштити, а не само да пресуди, користите снажан генератор лозинки. Сви они користе исти криптографски сигуран извор у вашем прегледачу.