- 论坛徽章:
- 15
|
兄弟直接上传个源码包吧
c/unix 发表于 2010-06-28 17:06 ![]()
测试demo:- /* enigma 加密测试 */
- #include <strproc.h>
- #include <enigma.h>
- #include <sys/time.h>
- //#define TEST_SPEED
- long interval(struct timeval *begtime,struct timeval *endtime)
- {
- long ret;
- ret=endtime->tv_sec-begtime->tv_sec;
- ret*=1000000;
- ret += endtime->tv_usec - begtime->tv_usec;
- return ret;
- }
- int main(int ac,char *av[])
- {
- char buf[131702];
- int len,i,len1;
- ENIGMA t;
- ENIGMA2 egm;
- struct timeval beg,end;
- enigma1_init(t,"永 垂 不 朽,Enigma");
- printf("t1:");
- for(i=0;i<256;i++) {
- if(!(i&7)) putchar('\n');
- printf("%3d:%d\t",i,255&t[0][i]);
- }
- printf("\nt3:");
- for(i=0;i<256;i++) {
- if(!(i&7)) putchar('\n');
- printf("%3d:%d\t",i,255&t[2][i]);
- }
- enigma2_init(&egm,"永 垂 不 朽 的 Enigma");
- printf("\ncrc=%d\n",egm.crc);
- // enigma2_init(&egm,"\x01\xff\x35\xf8\xef\x97\x22\x14\x80\x7f\t\b\r\n\377\177\225");
- memset(buf,'\373',sizeof(buf));
- buf[sizeof(buf)-1]=0;
- #ifndef TEST_SPEED
- while(!ferror(stdin)) {
- fgets(buf,sizeof(buf),stdin);
- if(feof(stdin)) break;
- TRIM(buf);
- #endif
- len=strlen(buf);
- gettimeofday(&beg,0);
- enigma1(t,buf,len);
- gettimeofday(&end,0);
- len1=len>32?32:len;
- printf("enigma1 encode:");
- for(i=0;i<len1;i++) printf("%02X ",buf[i]&255);
- printf("\nenigma1 encode 64K:");
- for(i=0;i<len1;i++) printf("%02X ",buf[i+65536]&255);
- printf("\ntimeval=%ld\n",interval(&beg,&end));
- enigma1(t,buf,len);
- printf("enigma1 decode:\n%.100s\n",buf);
- //test frenz
- gettimeofday(&beg,0);
- frenz_encode(t,buf,len);
- gettimeofday(&end,0);
- printf("frenz encode:");
- for(i=0;i<len1;i++) printf("%02X ",buf[i]&255);
- printf("\nfrenz encode 64K:");
- for(i=0;i<len1;i++) printf("%02X ",buf[i+65536]&255);
- printf("\ntimeval=%ld\n",interval(&beg,&end));
- frenz_decode(t,buf,len);
- printf("frenz decode:\n%.100s\n",buf);
- //test enigma2
- gettimeofday(&beg,0);
- enigma2_encode(&egm,buf,len);
- gettimeofday(&end,0);
- printf("enigma2 encode:");
- for(i=0;i<len1;i++) printf("%02X ",buf[i]&255);
- printf("\nenigma2 encode 64K:");
- for(i=0;i<len1;i++) printf("%02X ",buf[i+65536]&255);
- printf("\ntimeval=%ld\n",interval(&beg,&end));
- enigma2_decode(&egm,buf,len);
- printf("enigma2 decode:\n%.100s\n",buf);
- #ifndef TEST_SPEED
- }
- #endif
- return 0;
- }
复制代码 |
|