【发布时间】:2018-06-22 19:25:07
【问题描述】:
一个具体的例子。
如果我的范围为 1-300,如何使用 GUID "EDAAE218-FBF0-4B66-AEAF-FB036FBF69F4" 在该范围内生成 5 个唯一数字。对 GUID 应用相同的算法应该会导致每次都选择相同的 5 个数字。
输入不必是 GUID,它只是充当某种键。
我试图解决的问题的一些背景。我有一个硬编码的值列表,其中包含大约 300 个左右的元素。我正在尝试找到一种方法来从该列表中选择 20 个始终产生相同元素的元素。
我的想法是生成一个可以分发给多个用户的 GUID。当这些用户将 GUID 输入应用程序时,将为每个人返回相同的 20 个元素。
【问题讨论】:
-
当您将确定性和随机性放在同一个句子中时,似乎有些不对劲。
-
如果总是相同的输出怎么随机?
-
只要在需要盐键的地方使用任何散列算法。 GUID 将用作盐。具体之一是使用 bcrypt hash
-
对不起,我的描述很混乱。我已经更新了问题并为问题提供了一些背景信息。
-
GUID 不是我的首选——它们应该是唯一的而不是随机的。您可能正在寻找 Mersenne Twister