c 库提供产生随机数的函数rand(),需要引用stdio.h 和stdlib.h
i = rand();
但是获取的随机数比较大,获得固定位数的随机数的方法是截取
i = rand()/256;
·但是运行两次随机数函数获取的随机数是一致的,这个原因是随机种子没有更新,产生的随机数也就一致了。c 库提供一个改变随机种子的函数接口 srand()
srand((unsigned)time(NULL));
i= rand();
这样每次就更新了随机种子,产生的随机数就不一样。
在glibc 中的随机数产生的方式是open /dev/random 的方法,并非使用计算方法得到随机数,是依赖于系统中提供的随机数产生的接口,最终还是通过SHA 和MD5 这样的加密函数来实现的。