?? aestest.cpp
字號(hào):
// 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("進(jìn)行加密,明文:\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進(jì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
//明文長(zhǎng)度可以取得值是 16,24,32
//密鑰key長(zhǎng)度可以到的值是 16,24,32
InitAES(&aes, 16, (unsigned char*)key, 16,encrypt);
//將明文放入aes.state,待加密
memcpy(aes.State,str, 16);
//加密主函數(shù),解密時(shí)換InvCipherLoop
CipherLoop(&aes);
//將加密后的數(shù)據(jù)放入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];
//設(shè)置密鑰
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;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -