Cを使って認証コードを生成します.
最近のプロジェクトでは、認証コードを使ってウェブページへのアクセスが必要ですので、Cを使って検証コードを生成する方法を勉強しました.
この方法の利点は,単純,欠点:性能が比較的悪いことである.
検証コードを生成する方法は、libcaptcha.cから提供されるいくつかのインターフェース関数を呼び出すことである.このファイルはオンラインでダウンロードできます.http://brokestream.com/captcha.html
デモプログラムは以下の通りです.
clockは10000回の生成時間を計算するために用いられます.テストによって約10000回生成すると2.3秒かかります.性能はそんなに高くありません.
以下、より良い性能の方法があるかどうか調査を続けます.
この方法の利点は,単純,欠点:性能が比較的悪いことである.
検証コードを生成する方法は、libcaptcha.cから提供されるいくつかのインターフェース関数を呼び出すことである.このファイルはオンラインでダウンロードできます.http://brokestream.com/captcha.html
デモプログラムは以下の通りです.
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define gifsize 17646
int main() {
char l[6] ;
unsigned char im[70*200];
unsigned char gif[gifsize];
FILE *fp = NULL;
clock_t t1;
clock_t t2;
long sec;
int i = 0;
t1 = clock();
for (i = 0; i < 10000;i++)
{
captcha(im,l);
makegif(im,gif);
}
t2 = clock();
printf("t2 -t1 %d
", t2 - t1);
printf("t2 -t1 %d
", CLOCKS_PER_SEC);
fp = fopen("/home/waf/code/Capt/test.gif", "a+");
if (fp != NULL)
{
printf("the captcha is %s
", l);
fwrite(gif, 1, gifsize, fp);
fclose(fp);
}
else
{
printf("fp is null
");
}
return 0;
}
検証コードのコアコードを生成します.すなわち、次の2行です.captcha(im,l);
makegif(im,gif);
gifは生成したgifピクチャを保存するために用いられ、lは生成した文字を保存するために用いられる.clockは10000回の生成時間を計算するために用いられます.テストによって約10000回生成すると2.3秒かかります.性能はそんなに高くありません.
以下、より良い性能の方法があるかどうか調査を続けます.