📄 filed.cpp
字号:
/*this file include fileD function this function used to decrypt a file*/
#include"fileD.h"
#define BUFFMAXSIZE 16
int fileD(unsigned char *passwd,char *fn_in,char *fn_out)
{
unsigned char in[BUFFMAXSIZE],out[BUFFMAXSIZE],endc='\0';
BIO *f_in,*f_out;
int bits=128,len;
AES_KEY key;
#ifdef CBC
unsigned char iv[BUFFMAXSIZE];
iv[0]='\0';
int i;
#endif
f_in=BIO_new_file(fn_in,"r");
if(f_in==NULL)
{
//错误处理
printf("open file %s error!",fn_in);
return 0;
}
f_out=BIO_new_file(fn_out,"w");
if(f_out==NULL)
{
//错误处理
printf("open file %s error!",fn_out);
return 0;
}
if(AES_set_decrypt_key(passwd, bits,&key)!=0) printf("AES_set error!");// 错误处理
while(1)
{
len=BIO_read(f_in,in,BUFFMAXSIZE);
if(len==0||len==-1) {break;}
AES_decrypt(in,out,&key);
#ifdef CBC
if(iv[0]!='\0')
{
for(i=0;i<=len;out[i]=iv[i]^out[i],i++);
}
for(i=0;i<=len;iv[i]=in[i],i++);
#endif
BIO_write(f_out,out,len);
}
BIO_free(f_in);
BIO_free(f_out);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -