【问题标题】:C# random function algorithm implementation and its randomnessC#随机函数算法实现及其随机性
【发布时间】:2014-04-19 12:41:34
【问题描述】:

c#System.Random 算法实现是什么?从密码学的角度来看,它是一个好的伪随机吗?

【问题讨论】:

  • 哪个 C#随机实现?请具体,并提供链接!
  • MSDN 说:“Random 类的当前实现基于 Donald E. Knuth 的减法随机数生成器算法。有关更多信息,请参阅 D. E. Knuth。“计算机编程艺术,第 2 卷:半数值算法”。Addison-Wesley,Reading,MA,第二版,1981 年。”。但是有些人声称该实现存在错误,并且该错误降低了随机数的质量。

标签: c# random cryptography


【解决方案1】:

Random的来源可以看这里:http://referencesource.microsoft.com/#mscorlib/system/random.cs

Random 类不是加密安全的。出于安全考虑,请使用System.Security.Cryptography.RNGCryptoServiceProvider 类。

编辑 18/04/2021:对于 .NET Core,您应该使用 RandomNumberGenerator 类作为适用于安全相关场景的跨平台随机数生成器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多