用C语言产生随机数重要用到rand函数、srand函数、及宏RAND_MAX(32767),它们均在stdlib.h中进行了声明。
int rand(void);//生成一个随机数
voidsrand(unsigned int seed); //为rand设置“种子”的值
srand()就是给rand()提供种子seed,如果srand每次输入的数值是一样的,那么每次运行产生的随...
分类:
编程语言 时间:
2014-07-30 23:56:05
阅读次数:
294
最近项目中有用到生成token校验的问题。首先考虑用php中的uniqid()函数生成随机串,但是由于该函数好似基于微秒时间级别的。在高并发的情况下,就有可能会生成相同的值。
解决方案1:uniqid(rand(1,10000)), 该函数的第一个参数可用作生成数的前缀,如此,大大降低了生成数的重复率。但是重复的可能性还是存在的
解决方案2:md5(uniqid()), 使用md5()函数,...
分类:
Web程序 时间:
2014-07-30 12:27:33
阅读次数:
256
1.int rand7() 2.{ 3. return rand()%7+1; 4.} 5. 6.int rand10() 7.{ 8. int x=0; 9. do 10. { 11. x=(rand7()-1)*7+rand7(); 12. } 13. while(x>40); 14. retu...
分类:
其他好文 时间:
2014-07-29 20:53:23
阅读次数:
156
7. write a function cn random an array.public class xiaodan_random { Random rand = new Random(); public void swap(int[] array, int i, int j){ ...
分类:
其他好文 时间:
2014-07-28 15:27:23
阅读次数:
206
//组合签名
$a=time();
$b=substr($a,1);
//生成随机订单号
$orderid=$b.mt_rand(10000,99999);
//合作身份者id,以2088开头的16位纯数字
$mygoods[‘partner‘]="2088011744308664";
//商家账号
$mygoods[‘seller‘]="zfb@sinoglobal.com.cn";
//订单号
$mygoods[‘out_trade_no‘]..
分类:
Web程序 时间:
2014-07-22 18:27:52
阅读次数:
279
//组合签名
$a=time();
$b=substr($a,1);
//生成随机订单号
$orderid=$b.mt_rand(10000,99999);
//合作身份者id,以2088开头的16位纯数字
$mygoods[‘partner‘]="2088011744308664";
//商家账号
$mygoods[‘seller‘]="zfb@sinoglobal.com.cn";
//订单号
$mygoods[‘out_trade_no‘]..
分类:
Web程序 时间:
2014-07-22 18:27:02
阅读次数:
333
只是简单说明一下原理,其它的自己探索吧:)一、两个域名:www.domain.com和img.domain.com二、在www域名的服务器中上传文件:up.html save.phpif(@$_GET['action']=="ok"){ $picname="upfile/".rand...
分类:
Web程序 时间:
2014-07-19 17:19:36
阅读次数:
237
分为4个步骤1:执行microtime(),获取当前的微秒数2:把获取的微秒数转换为double类型3:再用转换后的数字去乘以10000004:给随机数发生器播种,播种数为第三步得出的结果rand为生成0到RAND_MAX 之间的伪随机整数,RAND_MAX的值因平台不同而不同srand() 函数作...
分类:
其他好文 时间:
2014-07-18 08:15:14
阅读次数:
219
若要在i≤R≤j这个范围得到一个随机整数R,需要用到表达式 FLOOR(i+ RAND() * (j–i+ 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句:SELECT FLOOR(7 + (RAND() * 6));FLOOR(i+ RAND() *...
分类:
数据库 时间:
2014-07-17 23:18:18
阅读次数:
381