69,371
社区成员
发帖
与我相关
我的任务
分享
//打开原文件
int fr=_open(szFile,_O_RDONLY|_O_BINARY);
if( fr == -1 )
return;
//生成目标文件
int fw=_open(decFile,_O_CREAT|_O_WRONLY|_O_BINARY);
if( fw == -1 )
return ;
//循环加密或解密
while(!_eof(fr))
{
nRead=_read( fr, szBuf,512);
ndiv=8-(nRead%8);//计算需要补充的字节.
if(ndiv!=8)//补充Buf
{
memset(szBuf+nRead,0,ndiv);
nRead=nRead+ndiv;
}
EncryptBuffer(szBuf,nRead,szPass,false);//false 解密 ture 加密
_write(fw,szBuf,nRead);
}
//关闭文件结束
_close(fw);
_close(fr);
//循环加密
while(!_eof(fr))
{
nRead=_read( fr, szBuf,512);
if (_eof(fr))
{
//加密
ndiv=8-(nRead%8);
if(ndiv!=8)
{
memset(szBuf+nRead,1,ndiv);
nRead=nRead+ndiv;
}
}
EncryptBuffer(szBuf,nRead,szPass,true);
_write(fw,szBuf,nRead);
}
=================================
//循环解密
while(!_eof(fr))
{
nRead=_read( fr, szBuf,512);
EncryptBuffer(szBuf,nRead,szPass,false);
if (_eof(fr))
{
while(szBuf[--nRead]==1);
nRead++;
}
_write(fw,szBuf,nRead);
}