algorithm - Coldfusion 10 随机数生成最佳实践是什么?

标签 algorithm random coldfusion

如果您将 RandRange 与算法一起使用,您还需要使用 Randomize 吗?例如:

  RandRange(1, 37, "SHA1PRNG")  

Adobe 的文档说:

SHA1PRNG: generates a number using the Sun Java SHA1PRNG algorithm. This algorithm provides greater randomness than the default algorithm.

如果有一个函数可以提供尽可能多的随机序列,那就太好了。 Adobe给出的例子同时使用了Randomize和RandRange。

欢迎任何澄清。

附加信息:

在这种情况下,我从大约 40 个字符的列表中选择随机字符来分配 7 个字符的密码。尽管也有单独的(但不一定是唯一的)用户名,但我想避免重复。没有任何财务或 secret 受到威胁 - 只需要识别教育网站的用户。

最佳答案

对于非重复,你必须减少 randRange 的范围并从未使用的字符列表中选择。

当然,将 RandRange 与 SHA1PRNG 一起使用,不用担心。

你真的不需要随机化。当您需要可预测的随机序列进行调试时,它仅用于为随机函数设定种子。

另一种解决方案是使用 java.util.Collections 的 shuffle() 对字符集合进行混洗,然后使用 left() 获得所需长度的非重复字符。请参阅:http://www.bennadel.com/blog/2284-Using-java-util-Collections-To-Shuffle-A-ColdFusion-Query-Column-Corrupts-Column-Values.htm

关于algorithm - Coldfusion 10 随机数生成最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285106/

相关文章:

algorithm - 最快的实时解压算法

arrays - 面试题: three arrays and O(N*N)

python - 使用 Python 从单尾分布生成范围内的随机数

coldfusion - 是否有 cfscript 支持使用 group 属性循环查询

apache-flex - Flex 中的 <cfoutput> 等价物是什么?

面向 ColdFusion 开发人员的 jQuery Ajax 插件

algorithm - 在 1's and 0' s 的矩形中查找最大块的天真方法

algorithm - 一种方法可以在图形上执行的频率

c# - 保证每个项目至少出现一次的变量集的随机选择

php - 使用 htaccess 的通配符 URL 模式