首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否需要使用RNGCryptoServiceProvider()来生成从0到9的随机数?

是否需要使用RNGCryptoServiceProvider()来生成从0到9的随机数?
EN

Stack Overflow用户
提问于 2018-01-09 14:47:07
回答 2查看 166关注 0票数 0

我们当前生成一个从0到9的随机数的代码是:

代码语言:javascript
运行
复制
Int(10 * Rnd())

它工作得很完美!但我们想知道,代码是否会导致一些不安全的随机性安全问题?

那么有必要使用RNGCryptoServiceProvider()来生成从0到9的随机数吗?

EN

回答 2

Stack Overflow用户

发布于 2018-01-09 18:36:40

这取决于你的需求

如果您要求这个数字在物理上尽可能随机,那么是的,您应该使用RNGCryptoServiceProvider()类。

如果这只是一些看似微不足道的东西的随机数,那么它就没有必要使用这个类。例如,如果你只是想暂时计算某个东西的随机数,那么它应该是很好的。

例如,如果要生成用户的密码,则应使用RNGCryptoServiceProvider()生成salt,因为它需要尽可能安全。然而,如果你正在做一个“掷骰子”或者“猜数字”的游戏,那么只使用Random()要容易得多,因为它没有很高的安全风险。

票数 1
EN

Stack Overflow用户

发布于 2018-01-09 14:59:37

这取决于你的程序的需求,如果你真的需要密码安全的随机性,那么是的,如果你的需求不是那么严格,那么就不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48162715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档