⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filed.cpp

📁 这是RSA算法的原代码实现应该直接能用,已调试好
💻 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 + -