adamas
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2008-05-30
  • 粉丝0
  • 关注0
  • 积分270分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
阅读:2439回复:7

tooflat透明加解密增加RC4算法_源码 问题求解

楼主#
更多 发布于:2008-05-02 00:23
我下载了tooflat透明加解密增加RC4算法_源码,编译之后测试,出现错误。保存文件时,机器就会死机重启。
有那位大大编译测试成功的啊??能不能分享下经验啊。
个人感觉其中的的加密代码有问题,不知是否正确
for (Offset = 0; Offset < Length; Offset+=1024)
    {
        i=(int)memcpy(buffer,((PCHAR)OldBuffer)+Offset,1024);
        rc4_crypt( s, buffer, i);
        i=(int)memcpy( ((PCHAR)MyBuffer)+Offset,buffer, i);    
    }        
其中i=(int)memcpy能这样使用吗???
我对其修改
i=Length;
for (Offset = 0; Offset < Length; Offset+=1024)
{
  if(i>=1024)
      {
           memcpy(buffer,((PCHAR)OldBuffer)+Offset,1024);
           rc4_crypt( s, buffer, 1024);
           memcpy( ((PCHAR)MyBuffer)+Offset,buffer,1024);  
           i=i-1024;
       } else
               {
                     memcpy(buffer,((PCHAR)OldBuffer)+Offset,i);
                     rc4_crypt( s, buffer, i);
                     memcpy( ((PCHAR)MyBuffer)+Offset,buffer,i);  
               }            
}
在解密中也类似修改之后。
能够成功加密成密文,但是在解密时出现文件只有前面一部分成功解密成正确的明文,后面的都是乱码,那位大大知道原因吗??指点一下小弟啊,感激不尽。
还有能够使用AES或DES这类分组加密的方式吗??那为有代码能不能发份给我adamas_lwj@163.com ,谢谢了。
oskrn
驱动牛犊
驱动牛犊
  • 注册日期2007-08-14
  • 最后登录2008-05-13
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-05-03 00:10
这个测试程序里增加了对各种密码算法的支持
http://www.oskrn.com/
jl2004
驱动小牛
驱动小牛
  • 注册日期2007-04-10
  • 最后登录2011-02-22
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望276点
  • 贡献值0点
  • 好评度129点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-05-03 11:18
i=(int)memcpy是有问题的
memcpy返回类型是size_t
int因机器不同而不同的,这样很可能出问题.
向前,向前,向前....
adamas
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2008-05-30
  • 粉丝0
  • 关注0
  • 积分270分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-05-03 19:41
哦,那我所修改的加解密有什么问题吗??
为什么我修改好之后解密时出现文件只有前面一部分成功解密成正确的明文,后面的都是乱码的情况,这是为什么啊???
adamas
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2008-05-30
  • 粉丝0
  • 关注0
  • 积分270分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-05-04 23:11
那位大大能够解答一下这个问题啊,在这先感谢了
  困扰了我好久啊。。。。。
adamas
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2008-05-30
  • 粉丝0
  • 关注0
  • 积分270分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-05-06 21:00
我继续顶起来,希望那位大大能够指点一下啊。
oskrn
驱动牛犊
驱动牛犊
  • 注册日期2007-08-14
  • 最后登录2008-05-13
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-05-13 19:56
以512字节为一个Block进行RC4加密,就可以了。
http://www.oskrn.com
e-mail:oskrn@126.com
adamas
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2008-05-30
  • 粉丝0
  • 关注0
  • 积分270分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-05-14 10:44
你说的以512字节为一个Block进行RC4加密,是将我上面所写的代码换成512为一个循环吗??如果是的话,那样我也尝试过啊,还是一样的问题,那是为什么啊?那里有错误吗?
如果不是,那应该则样完成的那,能不能把那部分代码贴出来看看啊,感谢了。
游客

返回顶部