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

📄 aes_main.c

📁 用C语言实现的aes加解密算法。分组长度设定为128
💻 C
字号:
//    main.cpp
#include"aes_main.h"

int main(int argc, char* argv[])
{
    int i;
	char *source,*key_source;
	unsigned char *cipherText_ptr , *plainText_ptr;
	unsigned char outcipherText[16],outdipherText[16];
	byte key[KEY_SIZE]={0};
    char USAGE[]="Usage:    AES [-E | -D] sourcefile keyfile";

    if(argc != 4)
    {
        printf("%s",USAGE);
	printf("\n");
        return 1;
    }
    source = argv[2];
    if(!(*source))
    {
        printf("InputFile Not Found Exception");
		printf("\n");
        return 2;
    }

    key_source=argv[3];
    if(!(*key_source))
    {
        printf("KeyFile Not Found Exception");
		printf("\n");
        return 2;
    }

//取16byte放入数组key[]
	i=0;
	while(*key_source){
		key[i]=*key_source;
		key_source++;
		i++;
	}

    if(strcmp(argv[1], "-E") == 0 || strcmp(argv[1], "-e") == 0)
    {
            cipherText_ptr = Cipher(plainText, key, 16);
			i=0;
            while(*cipherText_ptr){
				outcipherText[i]=*cipherText_ptr;
				cipherText_ptr++;
				i++;
			}
			show(outcipherText);//如果是加密输出密文
			printf("**************************\n");
    }

	
   // if(strcmp(argv[1], "-D") == 0 || strcmp(argv[1], "-d") == 0)
    //{
            plainText_ptr = InvCipher(cipherText, key, 16);
			i=0;
            while(*plainText_ptr){
				outdipherText[i]=*plainText_ptr;
				plainText_ptr++;
				i++;
			}
			show(outdipherText);//如果是解密输出明文
   // }


    return 0;
}

⌨️ 快捷键说明

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