For instance, you definitely need it in poker hand generation - would you need it for random loot generation in an MMO?
Also by "secure" you mean /dev/random, and /dev/urandom is used as if it was rand()?
For instance, you definitely need it in poker hand generation - would you need it for random loot generation in an MMO?
Also by "secure" you mean /dev/random, and /dev/urandom is used as if it was rand()?
Even in randomized algorithms you may have to be careful what RNG you use, because of DDOS risk. For example see the problems with Python and Ruby hash tables that could be exploited to have worst-case behavior because their behavior was entirely predictable.
In a MMO you most certainly want to use a secure RNG, as cheating is rife in them. If a player can get an advantage by predicting the RNG, someone will.
/dev/urandom is fine; in Ruby apps, I'd use OpenSSL::Random.random_bytes or ActiveSupport::SecureRandom.random_number.
Do those functions just read from /dev/urandom?