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

📄 filee.cpp

📁 这是RSA算法的原代码实现应该直接能用,已调试好
💻 CPP
字号:
/*this file include fileE function  this function used to encrypt a file*/
#include"fileE.h"

#define BUFFMAXSIZE 16









int fileE(unsigned char *passwd,char *fn_in,char *fn_out)
{


unsigned char in[BUFFMAXSIZE],out[BUFFMAXSIZE],endc='\0';
#ifdef CBC
unsigned char iv[BUFFMAXSIZE];
iv[0]='\0';
int i;
#endif

BIO  *f_in,*f_out;
int bits=128,len;
AES_KEY key;






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_encrypt_key(passwd, bits,&key)!=0) printf("AES_set key error!");// 错误处理
 

while(1)
{

len=BIO_read(f_in,in,BUFFMAXSIZE);
if(len==0||len==-1) {break;}
if(len<BUFFMAXSIZE) 
{
	for(;len<=BUFFMAXSIZE;in[len]='\0',len++);
}
#ifdef CBC  //cbc模式
if(iv[0]!='\0')
{

	for(i=0;i<=len;in[i]=iv[i]^in[i],i++);
	

}
#endif

AES_encrypt(in,out,&key);
#ifdef CBC
{for(i=0;i<=len;iv[i]=out[i],i++);}
#endif

BIO_write(f_out,out,BUFFMAXSIZE);



}
BIO_free(f_in);
BIO_free(f_out);
return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -