0

为什么这个页面captcha.c没有随着新版本的变化gwan?(图片没有变化)

此示例在旧版本中运行良好!

4

2 回答 2

1

这是正确的。

但是该httpdate.c示例按预期工作(每次调用它时都会更改),因此这不是缓存问题。

我已经给 G-WAN 的团队打了个电话,也许你可以自己做。

于 2013-01-20T10:44:18.530 回答
0

Marek 是对的,其他图像生成器也可以工作(data_uri.cfractal.ccharts.c等)。

captcha.cservlet 是唯一使用 PRNG 的,在本例中初始化保持不变(因此结果不变)。您可以通过添加以下代码在代码中看到printf()

   u32 seed = (u32)getns();
   prnd_t rnd; // pseudo-random generator (period: 1 << 158)
   sw_init(&rnd, seed); // EPOCH time in nano-seconds

   printf("seed:%u, sw_rnd:%u getns():%lu\n", seed, sw_rand(&rnd), getns());

种子始终为空,因为结果getns()是恒定的(这显然是一个错误):

seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
...

顺便说一句,这是程序员应该自己找到的一个很好的例子(并向程序作者报告)。

于 2013-01-20T10:59:10.170 回答