现在有一个文件"1.txt",当我用AES加密后,生成另外一个文件“1.txt.en",按理来说,当文件解密时,会生成回原文件”1.txt",但现在要求在解密的过程中,在不生成文件“1.txt"的情况下,直接显示解密后的文件”1.txt“的内容,如何做到?
解决方案 »
- VC2008操作,打标签快捷键?
- 我绘制的界面 在选中后出现“模糊大花脸”,有时候不知点了哪后出现奇怪的“白一块”“白一点”乱七八糟的图
- 自绘控件,当其他窗口移动到其上时,xp下出现明显的闪烁,win7下不会,请各位大侠帮帮忙,俺是新手,很急
- CString类型的变量能支持多少个字符??????????????????????????????????
- 如何获得一个文件上次打开时的位置?
- 关于自定义的消息的问题
- 如何通过Vc编程调用SQL server数据库多个表格的问题
- IBM公司的招聘题
- 这个问题真的很奇怪
- 求基于LZW算法的数据压缩程序
- 四川人民热烈欢迎Olympic Torch!盼你天天来,不要走了哈~~~~~
- SDI工程
只要进去改一下就行了....反正都是有字符流才能写文件的.
UpdateData(true);
if(EnDe_filename1=="")return;
FILE* finput;
FILE* foutput;
finput=fopen((LPCTSTR)EnDe_filename1,"rb");
if(!finput)
{
AfxMessageBox("Open file failed"); return;
}
fseek(finput,0,SEEK_END);
long lFileLen=ftell(finput);
fseek(finput,0,SEEK_SET);
long blocknum=lFileLen/16;
long leftnum=lFileLen%16;
EnDe_filename1+=".de";
foutput=fopen((LPCTSTR)EnDe_filename1.Left((EnDe_filename1.GetLength()-6)),"wb");
unsigned char inBuff[25],ouBuff[25]; Aes aes(16,(unsigned char*)(LPCTSTR)m_DeKey);
for(long i=0;i<blocknum;i++)
{
fread(inBuff,1,16,finput);
aes.InvCipher(inBuff,ouBuff);
fwrite(ouBuff,1,16,foutput);
}
fclose(finput);
fclose(foutput);}谢谢大家了
最后确认才写文件~~??
{
fread(inBuff,1,16,finput);
aes.InvCipher(inBuff,ouBuff);
// fwrite(ouBuff,1,16,foutput);
CArray[i] = ouBuff; //??这样可以的吗?,最后做完所有东西再把CARRY写到文件
}
....>>>>>>>>
CString str3,Addstr;
unsigned char ouBuff[25];long blocknum=lFileLen/16; Aes aes(16,(unsigned char*)(LPCTSTR)m_DeKey);
for(long i=0;i<blocknum;i++)
{
fread(inBuff,1,16,finput);
aes.InvCipher(inBuff,ouBuff);
// fwrite(ouBuff,1,16,foutput);
str3=ouBuff;
Addstr+=str3; }
m_rich.SetWindowText(Addstr);
原来文件内是这样的1=D:\HOOK2\TaskBarDll\weigh and size.xls
2=D:\HOOK2\weigh and size.xls
但解密后却变成这样1=D:烫烫烫烫烫烫K_\HOOK2\TaskBarDl烫烫烫烫烫烫K_l\weigh and size烫烫烫烫烫烫K_.xls
2=D:\HOOK2烫烫烫烫烫烫K_\weigh and size.烫烫烫烫烫烫K_xls为什么是这样呢?
他是只写16字节到文件中,你换成str3=ouBuff;把所有内容都接收了,应该把str3截断,只取前面16个字符