c#随机数生成编号_在C#中最快实现一个真正的随机数生成器

回答您问题的最简单的方法可能是将您的问题反过来.

假设CryptoServiceProvider实现具有所有优点.它只是一样快,并且使用与Random.Next一样少的内存.

那么为什么这两个实现都存在?

为什么我们甚至在框架中有Random.Next?

看看我们对每个实现的了解.一个生成加密安全的随机数,另一个不作承诺.

哪个更简单?生成足够随机的用于加密的随机数,或产生简单地“看”随机的数字,但不保证任何其他数字?

如果没有与生成加密安全随机数相关联的成本,则每个随机数生成器将执行此操作.

你通常可以假设标准库函数的设计是在框上做的,做的很好. Random.Next被设计为尽可能高效地获得伪随机数序列中的下一个随机数.

CryptoServiceProvider旨在生成足够强大的随机数,以便在密码学中使用,并尽可能高效地执行此操作.如果有一种方法可以像Random.Next那样有效地执行此操作,那么Random.Next也会使用它.

您的问题似乎在框架设计师身上承担了脑部的伤害 – 即使有更快的方式,他们也以某种方式设计出不必要的缓慢的功能来生成加密安全的随机数.

生成加密安全随机数的最快方式很可能称为由专家设计的功能来生成加密安全随机数.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值