其中teni.c是测试程序,测试ENIGMA1的程序片段如下:
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");//生成转轮
。。。。。。
while(!ferror(stdin)) {
fgets(buf,sizeof(buf),stdin);
if(feof(stdin)) break;
TRIM(buf);
//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("\ntimeval=%ld\n",interval(&beg,&end));//计时
enigma1(t,buf,len);//解密
printf("enigma1 decode:\n%.100s\n",buf);
是不是使用特别简单?
【 在 ylh1969 的大作中提到: 】
: [upload=1][/upload]
: ENIGMA的电脑版,适合对byte流加密。
: 在明文空间就地加密,在密文空间就地解密,不需要另外的空间。
: ...................
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*