问题标签 [random]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
48058 浏览

vb6 - Vb6 如何制作 0-9 和 x 个字符的 az 的随机字符串

尝试使用 0-9 和 az/AZ 创建一个随机字符串,长度为 x 个字符,但似乎找不到一个好的例子,有什么想法吗?

0 投票
8 回答
14138 浏览

java - SecureRandom:初始化一次还是每次都需要?

我们的团队正在使用 SecureRandom 生成密钥对列表(SecureRandom 被传递给 KeyPairGenerator)。我们无法就使用以下两个选项中的哪一个达成一致:

  1. 每次我们需要生成密钥对时创建一个新实例

  2. 初始化一个静态实例并将其用于所有密钥对

哪种方法通常更好,为什么

补充:我的直觉是第二种选择更安全。但我唯一的论点是基于伪随机性源自当前时间戳的假设的理论攻击:有人可能会看到密钥对的创建时间,猜测周围时间间隔内的时间戳,计算可能的伪随机序列,并获得关键材料。

补充:我关于基于时间戳的确定性的假设是错误的。这就是 Random 和 SecureRandom 之间的区别。所以,看起来答案是:就安全性而言,这并不重要。

0 投票
5 回答
4040 浏览

.net - System.Random 不断返回相同的值

我正在使用一个 System.Random 对象,该对象在整个应用程序中都使用固定种子进行实例化。我正在调用 NextDouble 方法,经过一段时间后,我得到 0.0 作为结果。

有什么补救办法吗,有其他人遇到过吗?

编辑:为了方便起见,我为整个运行设置了一个种子,设置为 1000。random.NextDouble 被调用了几十万次。它是一个优化器应用程序,可以运行几个小时,但这实际上是在执行 10-0 分钟后发生的。我最近向应用程序添加了更多随机调用。

0 投票
15 回答
5040 浏览

theory - 替代熵源

好的,我想这完全是主观的,但我正在考虑随机数生成器的熵源。大多数生成器都是以当前时间播种的,对吗?好吧,我很好奇还有哪些其他来源可以用来生成完全有效的随机(松散定义)数字。

使用多个源(例如时间 + 当前 HDD 寻道时间 [我们在这里太棒了])一起创建一个比单个源“更随机”的数字吗?来源数量的逻辑限制是什么?多少才真正够?仅仅因为方便才选择时间吗?

如果不允许这种事情,请原谅,但我对来源背后的理论感到好奇。

0 投票
18 回答
1875206 浏览

python - 如何从列表中随机选择一个项目?

假设我有以下列表:

从此列表中随机检索项目的最简单方法是什么?

0 投票
12 回答
77813 浏览

c# - 在图形中生成明显不同的 RGB 颜色

在生成图表并显示不同的数据集时,通常最好按颜色区分数据集。所以一条线是红色的,下一条是绿色的,依此类推。问题在于,当数据集的数量未知时,需要随机生成这些颜色,并且它们通常最终彼此非常接近(例如绿色、浅绿色)。

关于如何解决这个问题以及如何产生明显不同的颜色的任何想法?

如果有任何示例(如果您觉得更容易,请随意讨论问题和解决方案,如果您发现这更容易)是基于 C# 和 RGB 的颜色,我会很棒。

0 投票
3 回答
505 浏览

random - 随机数生成器:类级别还是方法级别?

使用随机数生成器时,这是使用它来获得新值更大随机性的更好方法:

  1. 有一个方法可以每次实例化一个新的 RNG 实例然后返回一个值吗?

  2. 在类级别有一个 RNG 实例,它在构造函数中实例化一次,并且所有后续调用都使用现有实例来调用新的随机值?

问题是可能有很多对随机数的调用,通常在不同的范围内,彼此没有联系。

这不是性能问题,因此每个调用都可能实例化一个新实例这一事实没有任何区别。这都是关于返回值的随机性。

0 投票
17 回答
7520 浏览

php - 生成随机数的算法

我正在寻找生成一个随机数并将其发布到数据库中特定 user_id 的表中。问题是,同一个号码不能使用两次。有一百万种方法可以做到这一点,但我希望非常热衷于算法的人有一种巧妙的方法来解决问题,因为它满足以下标准:

1) 对数据库的查询量最少。2) 对内存中的数据结构进行最少的爬取。

本质上,这个想法是执行以下操作

1)创建一个从 0 到 9999999 的随机数
2)检查数据库以查看该数字是否存在

2)查询数据库中的所有数字
3)查看返回的结果是否与来自 d​​b 的任何
内容匹配 4)如果匹配,请重复第1步,如果没有,问题就解决了。

谢谢。

0 投票
15 回答
105085 浏览

c++ - 初始化 srand 的推荐方法?

我需要一种“好”的方法来初始化 C++ 中的伪随机数生成器。我发现一篇文章说:

为了生成类似随机的数字,srand 通常被初始化为一些独特的值,比如那些与执行时间相关的值。例如,函数 time(在头文件 ctime 中声明)返回的值每秒都不同,这足以满足大多数随机需求。

Unixtime 对我的应用程序来说不够独特。初始化它的更好方法是什么?如果它是可移植的,则加分,但代码将主要在 Linux 主机上运行。

我正在考虑做一些 pid/unixtime 数学来获得一个 int,或者可能从/dev/urandom.

谢谢!

编辑

是的,我实际上每秒多次启动我的应用程序并且我遇到了冲突。

0 投票
11 回答
3972 浏览

c++ - 计算 C++ 中是否有 1/4 的可能性发生某事的最佳方法是什么?

我想知道是否有一个聪明的方法来找出

有 1/4 的机会发生某事。

我知道我们可以使用 rand() % 4 来执行此操作并检查它是否等于 0,但是有没有不使用 rand() 的方法?在 c++ 中,谢谢。