.NET参考源显示as 的实现NextBytes()
:
for (int i=0; i
InternalSample
在[0,int.MaxValue)中提供了一个值,正如它的doc注释所证明的那样Next()
,记录为返回此范围的事实,只需调用InternalSample
.我担心的是,由于
InternalSample
可以产生int.MaxValue
不同的值,并且该数字不能被256整除,因此我们应该在结果字节中有一些轻微的偏差,其中一些值(在这种情况下只有255)的发生频率低于其他值.我的问题是:
这种分析是正确的还是方法实际上是无偏见的?
如果存在偏差,它是否足够强大,对任何实际应用都很重要?
我所知道的
Random
,不应该用于加密目的; 我在想它是有效的用例(例如模拟).