Dav*_*Eno 7 random algorithm coldfusion
如果使用RandRange算法,是否仍需要使用Randomize ?例如:
RandRange(1, 37, "SHA1PRNG")
Run Code Online (Sandbox Code Playgroud)
Adobe的文档说:
SHA1PRNG:使用Sun Java SHA1PRNG算法生成一个数字.该算法提供比默认算法更大的随机性.
如果有一个函数可以提供最随机的序列,那就太好了.Adobe给出的示例使用Randomize和RandRange.
任何澄清都是受欢迎的.
附加信息:
在这种情况下,我从大约40个列表中选择随机字符来分配7个字符的密码.虽然还有单独的(但不一定是唯一的)用户名,但我想避免重复.没有任何财务或机密风险 - 只需要识别教育网站的用户.
对于非重复,您必须缩小 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