strongdisk
驱动牛犊
驱动牛犊
  • 注册日期2003-10-11
  • 最后登录2004-06-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1361回复:1

使用des加密的疑问???

楼主#
更多 发布于:2004-02-01 10:46
我对于加密是个新手,好不容易搞懂了rc4 结果不行,可是我看见以前的留言,说是可以的,而却还很快。

如果使用des ,加密结果的长度就会不同了, 我这样写有问题吗?

大师不知道是否可以把这段代码粘贴出来,不慎感激。

case IRP_MJ_READ:
CurrentAddress = MmGetSystemAddressForMdlSafe(irp->MdlAddress, NormalPagePriority);
tmplen = io_stack->Parameters.Read.Length;

if ((tmplen%8)!=0)
tmplen = (tmplen/8+1)*8;

buf=ExAllocatePool(NonPagedPool,tmplen);

ZwReadFile(
device_extension->file_handle,
NULL,
NULL,
NULL,
&irp->IoStatus,
buf,
tmplen,       //这样可以吗?io_stack->Parameters.Read.Length,
&io_stack->Parameters.Read.ByteOffset,
NULL
);
des_dec(buf,tmplen,"12345678");
RtlCopyMemory(CurrentAddress,buf,io_stack->Parameters.Read.Length);
ExFreePool(buf);

break;

case IRP_MJ_WRITE:

CurrentAddress = MmGetSystemAddressForMdlSafe(irp->MdlAddress, NormalPagePriority);
tmplen = io_stack->Parameters.Write.Length;
if ((tmplen%8)!=0)
tmplen = (tmplen/8+1)*8;

buf=ExAllocatePool(NonPagedPool,tmplen);
RtlCopyMemory(buf,CurrentAddress,io_stack->Parameters.Write.Length);
des_enc(buf,io_stack->Parameters.Write.Length,"12345678");

ZwWriteFile(
device_extension->file_handle,
NULL,
NULL,
NULL,
&irp->IoStatus,
buf,
tmplen,//  我这儿是应该写 io_stack->Parameters.Write.Length,还是tmplen,如果不是tmplen 那不是丢了几个字节?
&io_stack->Parameters.Write.ByteOffset,
NULL
);
ExFreePool(buf);
break;
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-02-01 15:10
对,就这样,完全可以。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
游客

返回顶部