最近我在写一个MFC文件加密程序,加密后的文件的结构为:文件名?文件内容,当然内容不是明文。
也就是说解密时需要对文件名进行读取,读到‘?’时停止,而卧的加密算法对于某些文件名会计算成‘?’
导致文件名读取不完整,这个以‘?’分隔的想法是起初针对于不加密文件名只加密内容的,因为文件名中不含问号,所以没有漏洞。一旦加密了文件名,就会有几率出问题。我不知道该怎么解决。
是该算法呢?还是找一个特别的分隔号?是不ANSCII和汉字编码的低八位都是正的呢?我只是一个高中生,什么都是看书自己学的,大神们不要说得太专业简短,我会凌乱的。。谢谢了
也就是说解密时需要对文件名进行读取,读到‘?’时停止,而卧的加密算法对于某些文件名会计算成‘?’
导致文件名读取不完整,这个以‘?’分隔的想法是起初针对于不加密文件名只加密内容的,因为文件名中不含问号,所以没有漏洞。一旦加密了文件名,就会有几率出问题。我不知道该怎么解决。
是该算法呢?还是找一个特别的分隔号?是不ANSCII和汉字编码的低八位都是正的呢?我只是一个高中生,什么都是看书自己学的,大神们不要说得太专业简短,我会凌乱的。。谢谢了
解决方案 »
- socket的连接状态如何得到?
- 某公司顶级技术总监 要求面试者半小时内分析:下面重叠通讯对吗?
- 在一个模式对话框内安装本线程消息钩子后,屏幕经常闪烁。
- 怎么重复的添加对象?
- 100分求一个软件可以把word的文档转移成pdf格式的文件~~~,可以用就结贴
- SDI或MDI应用中,如何在对话框中实现划线功能?
- 急急急,请问如何动态生成一个背景透明的CStatic控件?????
- 假设安装WIN98的机器登陆到居域网某台服务器,在服务器上能否进入该安装WIN98的机器?
- 微软的面试,真的公平吗?
- CListCtrl是否支持256色图标,这么做为什么不行?
- Jmail的问题
- IsEOF读不到最后一行记录
制定文件格式的时候应该在文件头部放一个结构体,简单点比如
typedef struct tagFileHeader
{
DWORD dwFileNameLen;//文件名长度
DWORD dwContentLen;//内容长度
}FileHeader;
然后结构体后面紧跟文件名和内容,不需要分隔符
读出数据后,根据文件头这个结构操作
可以找个简单的文件格式参考下