📄 aestest.cpp
字号:
// AEStest.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
/*void fileData(char str, char *data, int data_len)
{
for ( int i=0;i<data_len;i++)
{
data[i] = str;
}
}
void printfData(char * data, int data_len)
{
for ( int i=0;i<data_len;i++)
{
printf("%d ",data[i]);
}
printf("\n");
}
int main(int argc, char* argv[])
{
int key_len = 16;
int str_len = 16;
char * key = new char[key_len];
char * str = new char [str_len];
char * out = new char[str_len];
fileData('1',key, key_len);
fileData('d',str, str_len);
AES aes;
InitAES(&aes, str_len, (unsigned char*)key, key_len, encrypt);
memcpy(aes.State, str, str_len);
CipherLoop(&aes);
memcpy(out, aes.State, str_len);
printf("进行加密,明文:\n");
printfData(str, str_len);
printf("\n密文:\n");
printfData(out, str_len);
InitAES(&aes, str_len, (unsigned char *)key, key_len, decrypt);
memcpy(aes.State, out, str_len);
InvCipherLoop(&aes);
memcpy(str, aes.State, str_len);
printf("\n\n进行解密\n密文:\n");
printfData(out, str_len);
printf("\n密解出的明文:\n");
printfData(str, str_len);
return 0;
}*/
int main(int argc, CHAR* argv[])
{
//明文
char str [] = {0,1,2,3,4,5,6, 7,8, 9,10,11,12,13,14,15};
//密文
char out [16];
//密钥
char key [] = {11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26};
AES aes;
//做加密如果解密把encrypt换成decrypt
//明文长度可以取得值是 16,24,32
//密钥key长度可以到的值是 16,24,32
InitAES(&aes, 16, (unsigned char*)key, 16,encrypt);
//将明文放入aes.state,待加密
memcpy(aes.State,str, 16);
//加密主函数,解密时换InvCipherLoop
CipherLoop(&aes);
//将加密后的数据放入out中
memcpy(out,aes.State , 16);
printf("明文:\n");
for ( int i=0;i<16;i++)
{
printf("%02d ", str[i]);
}
printf("\n\n");
printf("密文:\n");
for ( /*int */i=0;i<16;i++)
{
printf("%02d ", out[i]);
}
printf("\n");
//--------------------------------------------------------
//下面是加密文件的例子
/* FILE *psrc = fopen("c:\\a.txt","rb");
FILE *pdest = fopen("c:\\b.txt","wb");
int blockSize = 16;
int keySize = 16;
int nRead = 0;
// unsigned char key[16];
//设置密钥
strcpy((char*)key, "123456");
//AES aes;
InitAES(blockSize,&aes , keySize, encrypt);
nRead = fread(aes.State, blockSize, 1, psrc);
while(nRead)
{
CipherLoop(&aes);
fwrite(aes.State, blockSize, 1, pdest);
nRead = fread(aes.State, blockSize, 1, psrc);
}*/
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -