最近在做透明加密算法时。对文件进行加密,由于是对Page I/O进行加密。读写的最小单位是4096.基于这个原因,选择了比较常用的加密算法,8位为单位进行加密。在测试过程中发现一个问题,由于文件的长度不可能是8的倍数,当不是8位时加密时写入的最后8位和读取的8位数据不一样,这也造...
全文
回复(4) 2009-05-28 13:04 来自版块 - 文件系统(过滤)驱动程序开发
表情
Chinaluo_007通过在SetInformaiton中增加文件的长度可以解决写入的数据读取不出,但是在读取的时候不知如何将增加的文件长度变小? Query中已处理但是还是不能从根本上解决问题.(2009-05-31 16:06)
michaelgzDon't know which cipher algorithm you are using. I guess it is a block cipher either 3DES or AES in CBC mode. The problem you described...(2009-05-30 22:49)
Chinaluo_007我记录的就是实际长度,也是以8个字节为单位进行加密的。就是最后的不足8位的无法正常加解密。 按理说,在整个读定过程中,应该是以是pagesize为处理的,那么你无论怎么样将这个PAGE分成若干个数据段都应该可以正常还原了。(2009-05-30 18:27)
znsoft既然是pageio那就自动对齐了嘛.... 你记录实际长度就行了,在加解密时直接对pageio的pagesize处理即可,可以按512对齐,也可以按4k对齐,怎么搞都行了.(2009-05-28 21:55)

返回顶部