bash的RANDOM变量生成的是真正的随机数吗


static void seedrand () { struct timeval tv; gettimeofday (&tv, NULL); sbrand (tv.tv_sec ^ tv.tv_usec ^ getpid ()); }

上述是bash中生成随机数的代码,处理是非常的简单,秒 (tv.tv_sec) 和微秒 (tv.tv_usec) 和进程 ID 的位进行异或操作来生成随机数。

由此生成的RANDOM变量是伪随机数,而且和伪随机数生成器相比,是采用非常简单的算法生成的。

译至:http://devnull.synergy-marketing.co.jp/2013/12/bash-random-number/

只是翻译了其中的一小部分。但是也是最终的结论。

posted @ 2014-08-20 21:29  大胡萝卜  阅读(302)  评论(0编辑  收藏  举报