C語言程式設計實現使用AES對檔案進行加密

2021-08-01 08:40:16 字數 1173 閱讀 8401

#include

#include

#include

#include

int main(int argc,char* argv)

//  char* fname=*(argv+1);

//讀取檔案內容

file* file=fopen(*(argv+1),"r");

if(file==null)

//設定明文空間

unsigned char plain[17]=;

//生成金鑰

unsigned char *userkey=*(argv+2);

aes_key aes_key;

int ret=aes_set_encrypt_key(userkey,128,&aes_key);

if(ret<0)

//建立密文檔案

// char *fextend=".cipher";

// strcat(fname,fextend);

file* cfile=fopen("list.cipher","w+");

if(cfile==null)

//生成密文空間

unsigned char cipher[17]=;

//加密

int num=fread(plain,1,16,file);

while(num!=0)

fclose(cfile);

//解密

if(aes_set_decrypt_key(userkey,128,&aes_key)<0)

//生成解密後明文的空間

unsigned char dec_plain[17]=;

//開啟密文檔案

file* cfile=fopen("list.cipher","r");

if(cfile==null)

rewind(cfile);

//建立解密後的明文檔案

file* pfile=fopen("list.cipher.plain","w+");

if(pfile==null)

num=fread(cipher,1,16,cfile);

while(num!=0)

fclose(file);

fclose(cfile);

fclose(pfile);

}

C 程式設計技巧輕鬆實現對檔案的操作

c 寫入 讀出文字檔案 string filename c i.txt streamreader sr new streamreader filename string str sr.readline sr.close rw.writeline 寫入 rw.writeline abc rw.writ...

使用C 實現AES加密解密

aes演算法描述簡介 des 資料加密標準演算法由於金鑰長度較小 56位 已經不適應當今分布式開放網路對資料加密安全性的要求,因此1997年nist公開徵集新的資料加密標準,即aes。經過三輪的篩選,比利時joan daeman和vincent rijmen提交的rijndael演算法被提議為aes...

C 實現對檔案的輸出

模式 描述ios in 為輸入而開啟檔案 ios out 為輸出而開啟檔案 ios ate 初始位置定位到檔案末尾 所有輸出附加在檔案末尾 ios trunc 如果檔案已存在則先刪除該檔案 例如 ofstream fd fd.open 檔名.txt ios out if fd.is open stu...