本人驱动新手,最近在写课程设计,马上要验收了。基于minifilter框架下文件透明加解密,用AES/DES/RC4/RC6/XOR 五种算法对其进行加解密。由于AES/DES/RC6加密后会使明文变长,所以经常出bug(有时也正确)。而且我不知道为什么我的File_EncryptBuffer(加密函数)前打印出明文的字符长度永远是4096,而且File_DecryptBuffer(解密函数)前打印出密文的长度却总是明文的长度,实在理解不了。
在user下目录中,我已经把内核层和应用层的通信写好了,每次打开txt后,我都会在PreRead中让它阻塞住,必须在user.exe中输入正确的加密算法(1-5的数字,分别代表AES/DES/RC4/RC6/XOR )和密钥才能解密成功。但是算法还是出问题。
由于每次还得把文件头加进来,所以能做到改变明文长度的问题就更加紧迫了。
求大神帮忙,100分悬赏。我现在demo的地址:http://pan.baidu.com/s/1ntBdMoL
------解决方案--------------------
变长文件 不足分组长度部分 处理下即可 要么做简单变换,要么标记长度 然后做补足处理。
------解决方案--------------------
你是说Office Word文档么?也许Office Word打开文件的时候有一些保密措施造成打开失败。
蓝屏信息是什么?