使用案例:“我忘记了我的密码”button。 我们无法find用户的原始密码,因为它是以散列forms存储的,所以唯一要做的就是生成一个新的随机密码并通过电子邮件发送给他。 这需要密码不可预知的随机数,对于这个数字,mt_rand不够好,一般来说,我们不能假定托pipe服务将提供访问操作系统来安装密码随机数模块等,所以我正在寻找一种方法在PHP本身中生成安全的随机数字。 我到目前为止提出的解决scheme涉及存储一个初始种子,然后为每个电话, result = seed seed = sha512(seed . mt_rand()) 这是基于sha512哈希函数的安全性(mt_rand调用只是为了让对手获得数据库副本的生命变得更困难)。 我错过了什么,还是有更好的已知解决scheme?
是否有可能在JavaScript中播种随机数发生器(Math.random)?
我已经开发了一个随机string生成器,但它不像我所希望的那样。 我的目标是能够运行这两次,并生成两个不同的四个字符的随机string。 但是,它只会产生一个四个字符的随机string两次。 以下是代码和输出示例: private string RandomString(int size) { StringBuilder builder = new StringBuilder(); Random random = new Random(); char ch; for (int i = 0; i < size; i++) { ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65))); builder.Append(ch); } return builder.ToString(); } // get 1st random string string Rand1 = RandomString(4); // get 2nd […]
我目前正在为“A”生成一个8个字符的伪随机大写string..“Z”: value = ""; 8.times{value << (65 + rand(25)).chr} 但它看起来并不干净,不能作为一个parameter passing,因为它不是一个单一的陈述。 要得到一个混合大小写的string“a”..“z”加上“A”..“Z”,我把它改为: value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr} 但它看起来像垃圾。 有没有人有更好的方法?
我有一个ArrayList,我需要能够点击一个button,然后从该列表中随机挑选一个string,并将其显示在一个消息框中。 我怎么去做这个?
没有任何权重(等概率)的select在这里被精美地描述。 我想知道是否有办法将这种方法转换为加权方法。 我也对其他方法感兴趣。 更新:取样而不更换
我想得到N个随机数,他们的总和是一个值。 例如,假设我想要5个随机数,它们的和为1 那么有效的可能性是: 0.2 0.2 0.2 0.2 0.2 其他可能性是: 0.8 0.1 0.03 0.03 0.04 等等。 我需要这个来创build模糊C-均值的所有物matrix。
如何将一个均匀的分布(如大多数随机数发生器产生的,例如0.0和1.0之间)转换成正态分布? 如果我想要一个我select的平均和标准偏差怎么办?
是否有可能产生不同的随机数,每次循环运行。 例如,我有: for (int t=0;t<10;t++) { int random_x; srand ( time(NULL) ); random_x = rand() % 100; cout<<"\nRandom X = "<<random_x; } 但问题是,它每次都会产生相同的随机数。 每次循环运行时是否可以生成不同的随机数字? 有没有可能重置随机数初始化?
重复: O(1)中唯一的随机数? 我想要一个伪随机数发生器,可以随机生成没有重复的数字。 例如: 随机(10) 可能会返回5,9,1,4,2,8,3,7,6,10 有没有更好的方法来做到这一点,除了使数字的范围和洗牌,或检查生成的列表重复? 编辑: 另外我希望它能够在没有整个范围的情况下生成大数字。 编辑: 我看到每个人都build议洗牌algorithm。 但是如果我想产生一个大的随机数(1024字节+),那么这个方法会占用更多的内存,比我只使用一个普通的RNG并插入一个Set直到它是一个指定的长度,对不对? 有没有更好的mathalgorithm。