110,535
社区成员
发帖
与我相关
我的任务
分享
using (var reader = new StreamReader(responseStream, encoding))
{
//10k
var clen = 1024 * 10;
var read = new Char[clen];
var count = reader.Read(read, 0, clen);
while (count > 0)
{
var str = new string(read, 0, count);
rsb.Append(str);
count = reader.Read(read, 0, clen);
}
reader.Close();
reader.Dispose();
responseStream.Dispose();
responseStream.Close();
response.Close();
}
dwBlockLen=1000-1000 % ENCRYPT_BLOCK_SIZE;//文件处理的字节数,字节数你自行设置,关于带有后面的参数的代码你直接可以忽略
if(ENCRYPT_BLOCK_SIZE>1)
{
dwBufferLen=dwBlockLen+ENCRYPT_BLOCK_SIZE;
}
else
{
dwBufferLen=dwBlockLen;
}
if(pbBuffer=(BYTE *)malloc(dwBufferLen))//申请的系统内存长度,是你每次要处理的字节长度
{
;
}
else
{
HandleError("内存不够了.\n");
}
//----------------------------------------------------------------------------
//不断的循环加密原文件,把密文写入密文文件
do
{
//读取原文dwBlockLen 字节
dwCount=fread(pbBuffer,1,dwBlockLen,hSource);
if(ferror(hSource))
{
HandleError("读取原文错误. \n");
}
//----------------------------------------------------------------------
//相当于你转换文件的格式的什么的,我这一快就是对文件进行加密
if(!CryptEncrypt( //成功返回TRUE
hKey,
0,
feof(hSource), //feof检测流上的文件结束符,指出是否是最后一次加密操作
0,
pbBuffer, //作为输入参数为加密数据的缓冲区指针,其长度由dwBufLen指定,作为输出参数为加密后的数据缓冲区
//指针,其长度由dwCount指定,此函数会把pbBUffer数据加密后的结果覆盖到pbBuffer缓冲区中.
&dwCount, //加密后的数据长度
dwBufferLen)) //被加密的数据长度
{
HandleError("调用CryptEncrypt 出错。 \n");
}
//把密文写入的密文文件
fwrite(pbBuffer,1,dwCount,hDestination);
if(ferror(hDestination))
{
HandleError("写入文件失败");
}
}
while(!feof(hSource)); //feof检测流上的文件结束符