Captcha不会随着新版本的GWAN而改变

时间:2013-01-19 17:32:59

标签: debian g-wan

为什么此页面captcha.c不会随新版gwan而改变? (图片没有变化)

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

2 个答案:

答案 0 :(得分:1)

没错。

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

我已经向G-WAN的团队投了一条线,也许你自己可以做到这一点。

答案 1 :(得分:0)

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

captcha.c servlet是唯一一个使用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());

种子始终为null,因为getns()的结果是常量(这显然是一个错误):

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