Cを使って認証コードを生成します.


最近のプロジェクトでは、認証コードを使ってウェブページへのアクセスが必要ですので、Cを使って検証コードを生成する方法を勉強しました.
この方法の利点は,単純,欠点:性能が比較的悪いことである.
    検証コードを生成する方法は、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秒かかります.性能はそんなに高くありません.
以下、より良い性能の方法があるかどうか調査を続けます.