生成256个随机位数的最佳方法是什么?
连接随机字节是否有效?
byte[] data = new byte[32]; RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); rng.GetNonZeroBytes(data); // should include zero bytes? string number = BitConverter.ToString(data, 0).Replace("-", "");
此外,使用这些数字的非重复对一副牌进行排序是否合适?
是否可以连接随机字节取决于您使用的随机数生成器.一些随机数发生器表现出串行相关.对于这些随机数生成器,连接会很糟糕.
如果你使用这些随机数进行crypotgraphic目的,你应该看看Blum Blum Shub.否则,看看Mersenne Twister.
为了改组有限集,请看Fisher-Yates shuffle.