⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crypt.c

📁 Axis 221 camera embedded programing interface
💻 C
字号:
/* * This crypt(3) validation program shipped with UFC-crypt * is derived from one distributed with Phil Karns PD DES package. * * @(#)cert.c	1.8 11 Aug 1996 */#include <stdio.h>#include <stdlib.h>#include "crypt.h"int totfails = 0;#if __STDC__ - 0int main (int argc, char *argv[]);void get8 (char *cp);void put8 (char *cp);void good_bye (void) __attribute__ ((noreturn));#elsevoid get8(), put8();#endifvoid good_bye (){  if(totfails == 0) {    printf("Passed DES validation suite\n");    exit(0);  } else {    printf("%d failures during DES validation suite!!!\n", totfails);    exit(1);  }}intmain(argc, argv)     int argc;     char *argv[];{	char key[64],plain[64],cipher[64],answer[64];	int i;	int test;	int fail;	for(test=0;!feof(stdin);test++){		get8(key);		printf(" K: "); put8(key);		setkey(key);		get8(plain);		printf(" P: "); put8(plain);		get8(answer);		printf(" C: "); put8(answer);		for(i=0;i<64;i++)			cipher[i] = plain[i];		encrypt(cipher, 0);		for(i=0;i<64;i++)			if(cipher[i] != answer[i])				break;		fail = 0;		if(i != 64){			printf(" Encrypt FAIL");			fail++; totfails++;		}		encrypt(cipher, 1);		for(i=0;i<64;i++)			if(cipher[i] != plain[i])				break;		if(i != 64){			printf(" Decrypt FAIL");			fail++; totfails++;		}		if(fail == 0)			printf(" OK");		printf("\n");	}	good_bye();}voidget8(cp)char *cp;{	int i,j,t;	for(i=0;i<8;i++){		scanf("%2x",&t);		if(feof(stdin))		  good_bye();		for(j=0; j<8 ; j++) {		  *cp++ = (t & (0x01 << (7-j))) != 0;		}	}}voidput8(cp)char *cp;{	int i,j,t;	for(i=0;i<8;i++){	  t = 0;	  for(j = 0; j<8; j++)	    t = (t<<1) | *cp++;	  printf("%02x", t);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -