資源簡介
從Linux內核移植而來的AES算法,應用于VC中實現加密BMP圖片,算法的效率很快

代碼片段和文件信息
#include“AES.H“
#include“ENTRY.h“
#include“KEY.h“
#include“BMP.h“
#include“stdio.h“
#include“string.h“
struct?BITMAPINFOHEADER?bmih;
struct?BITMAPFILEHEADER?bmfh;?
int?AES_Encrypt(char?*plainFile?char?*keyStrint?keylengthchar?*cipherFile){????
FILE?*plain*cipher;?
????int?countstlen;
????int?filelen;
????char?plainBlock[16]cipherBlock[16];??
????//密鑰設置
struct?crypto_aes_ctx?key;
char?str[32];
memcpy(strkeyStrkeylength);
????crypto_aes_expand_key(&key(unsigned?char?*)strkeylength);?
????//打開文件
if((plain?=?fopen(plainFile“rb“))?==?NULL){??
????????return?-1;??
????}?????
????if((cipher?=?fopen(cipherFile“wb“))?==?NULL){??
????????return?-1;??
????}???????
????fseek(plain0SEEK_END);???//將文件指針置尾??
????filelen?=?ftell(plain);????//取文件指針當前位置??
????rewind(plain);?????????????//將文件指針重指向文件頭??
????filelen-=sizeof(bmfh)+sizeof(bmih);
????s=filelen/16;
t=filelen%16;
len=sizeof(bmfh);
????count=fread(&bmfhsizeof(char)lenplain);
????fwrite(&bmfhsizeof(char)lencipher);?
len=sizeof(bmih);
????count=fread(&bmihsizeof(char)lenplain);
fwrite(&bmihsizeof(char)lencipher);?
???
????while(s>0){??
????????//每次讀16個字節,并返回成功讀取的字節數??
????????if((count?=?fread(plainBlocksizeof(char)16plain))?==?16){??
????????????aes_encrypt(&key(u8*)cipherBlock(u8*)plainBlock);
????????????fwrite(cipherBlocksizeof(char)16cipher);????
????????}?
s--;
????}??
????if(t){?
fread(cipherBlocksizeof(char)tplain);
????????fwrite(cipherBlocksizeof(char)tcipher);??
????}??
????fclose(plain);??
????fclose(cipher);??
????return?OK;??
}??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1572918??2011-03-05?21:18??AES\1.BMP
?????文件????1572918??2011-04-08?14:18??AES\2.bmp
?????文件????1572918??2011-04-08?14:18??AES\3.bmp
?????文件???????1678??2011-03-14?16:20??AES\AES.c
?????文件??????????0??2011-03-14?16:24??AES\AES.cpp
?????文件???????4601??2011-03-16?18:54??AES\AES.dsp
?????文件????????531??2011-03-14?12:50??AES\AES.dsw
?????文件??????53155??2011-03-17?20:35??AES\AES.h
?????文件??????66560??2011-04-08?14:18??AES\AES.ncb
?????文件??????50688??2011-04-08?14:18??AES\AES.opt
?????文件???????1446??2011-04-08?14:18??AES\AES.plg
?????文件????????913??2011-03-14?16:27??AES\BMP.h
?????文件????????558??2011-03-18?10:56??AES\chaos.h
?????文件??????66560??2011-03-15?14:35??AES\Debug\AES.bsc
?????文件?????249933??2011-04-08?14:18??AES\Debug\AES.exe
?????文件?????240056??2011-04-08?14:18??AES\Debug\AES.ilk
?????文件???????1452??2011-03-14?16:24??AES\Debug\AES.obj
?????文件?????297712??2011-04-08?14:18??AES\Debug\AES.pch
?????文件?????484352??2011-04-08?14:18??AES\Debug\AES.pdb
?????文件??????????0??2011-03-14?16:24??AES\Debug\AES.sbr
?????文件??????56516??2011-04-08?14:18??AES\Debug\main.obj
?????文件??????19009??2011-04-08?14:18??AES\Debug\main.sbr
?????文件??????50176??2011-04-08?14:18??AES\Debug\vc60.idb
?????文件??????53248??2011-04-08?14:18??AES\Debug\vc60.pdb
?????文件???????1870??2011-03-14?16:40??AES\DETRY.h
?????文件???????1966??2011-03-17?22:54??AES\ENTRY.h
?????文件???????3782??2011-03-18?08:47??AES\KEY.h
?????文件???????4148??2011-03-18?10:56??AES\main.cpp
?????文件?????987054??2011-03-17?23:40??AES\tyf.bmp
?????文件????1440056??2011-03-17?23:40??AES\山.bmp
............此處省略7個文件信息
- 上一篇:[微機原理及接口技術].盛珣華&張凡.掃描版
- 下一篇:拼接大屏軟件
評論
共有 條評論