阅读:1575回复:3
请教各位RC4实现透明加密的问题,给点儿提示足够。。。。 TKS
源程序如下
int main() { UCHAR buff1[10] = {0}; UCHAR buff2[10] = {0}; RC4_KEY key; // 加密 RC4_set_key(&key, 32, (PUCHAR)"abcdefghijklmnopqrstuvwxyzabcdefghij"); RC4(&key, 5, buff1, buff2); RC4(&key, 5, buff1+5, buff2+5); // 解密 RC4_set_key(&key, 32, (PUCHAR)"abcdefghijklmnopqrstuvwxyzabcdefghij"); //RC4(&key, 6, buff2, buff1); // SetFilePointer offset=6 RC4(&key, 4, buff2+6, buff1+6); return 0; } 引用OPENSSL的RC4算法,这段程序运行没有问题,但如果把解密的RC4(&key, 6, buff2, buff1)注释掉(Offset 6),剩下的4字节解密就不对了,怎么样才能解决呢 现在碰到的问题就是处理IRP_MJ_READ时,很有可能不是从头读到尾,而是偏移99M,然后再读取N兆数据,这个时候跟我上面的代码应该属于一种情况,要怎么办呢 希望用RC4做过透明加密的兄弟们帮下忙,或者给点提示也好,在这卡住了.......... |
|
最新喜欢:Leopar... |
沙发#
发布于:2007-09-14 09:17
我的思路是,以一部分作为块,比如,以4096为一个rc4加密块,不足的另行处理
|
|
|
板凳#
发布于:2007-09-21 08:20
TKS: abc13271552
已经搞定了 我怕别的文件系统不是4096的 所以最小粒度我设成512 效率基本没啥影响 先凑合用啦 ^-- |
|
地板#
发布于:2007-09-21 08:34
解密exe文件(有些)最大只能设置为512
|
|