随机数的子字符串是随机数吗?

时间:2019-02-12 01:18:27

标签: probability distribution

假设我有大量随机整数,并且在000000999999之间(包括两端)具有均匀分布。

现在假设我使用每个数字的前3位。

这些数字是否保证在000999之间(包括两端)均匀分布吗?

如果我输入最后三位数怎么办?

如果随机整数以十六进制或其他任何基数(但每个位数仍为一个字符)怎么办?

实际应用:是否可以使用密码散列(根据定义,其最小值和最大值之间应具有均匀的分布)可用于生成给定输入(即,被散列的数据)的随机但一致的任意范围)?

1 个答案:

答案 0 :(得分:1)

选择前三位或后三位将为您提供一个随机且分布均匀的三位数字。确实,您可以同时选择两者,并获得两个随机且独立的数字,每个数字均具有均匀分布,只要为每个数字选择的数字不重叠即可。

(因此您可以选择数字1、3和4作为第一个数字,并选择6、2和5作为最后一个数字,它们在000-{{1}中仍然是随机且独立的}范围。)

这是因为我们可以认为您的999-000000生成器由6个独立的1位数字生成器组成,它们具有均匀的概率分布。

这仍然适用于999999-000000(十六进制),但显然不适用于FFFFFF-000000(999999)。

只要您坚持使用十六进制,二进制,十进制等位置系统,并允许所有可能的字符范围,

编辑: 我不确定我是否理解您使用哈希生成的范围。