阅读:1361回复:1
使用des加密的疑问???
我对于加密是个新手,好不容易搞懂了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; |
|
沙发#
发布于:2004-02-01 15:10
对,就这样,完全可以。
|
|
|