public SafeRandom() { var rng = new RNGCryptoServiceProvider(); var buffer = new byte[4]; rng.GetBytes(buffer); Seed = BitConverter.ToInt32(buffer, 0); rand = new Random(Seed); }