为什么有人会根本使用System.Random的“标准”随机数生成器,而不是始终使用System.Security.Cryptography.RandomNumberGenerator(或其子类,因为RandomNumberGenerator是抽象的)的加密安全随机数生成器?
内特-劳森告诉我们,在他的谷歌技术讲座演讲“ 加密反击 ”在13:11分不从的Python,Java和C#中使用的“标准”随机数生成器,并转而使用加密安全的版本。
我知道两个版本的随机数生成器之间的区别(请参阅问题101337)。
但是,有什么理由不总是使用安全随机数生成器呢?为什么要使用System.Random?性能也许?
速度和意图。如果要生成随机数并且不需要安全性,为什么要使用慢速加密功能?您不需要安全性,那么为什么要让别人认为该数字可能会用于安全的东西呢?