阅读:1616回复:4
透明加密算法讨论
最近在做透明加密算法时。
对文件进行加密,由于是对Page I/O进行加密。 读写的最小单位是4096. 基于这个原因,选择了比较常用的加密算法,8位为单位进行加密。 在测试过程中发现一个问题,由于文件的长度不可能是8的倍数,当不是8位时加密时写入的最后8位和读取的8位数据不一样,这也造成解密不正确。 如写入(文件长度为3位) 00 01 02 03 04 06 06 07 加密后的数据为:FF FF FF FF FF FF FF FF 读取的数据:FF FF FF XX XX XX XX XX 后面的5位读取不定。 请大家帮忙分析一下解决办法,或者想出一些比较好的加密算法。 |
|
沙发#
发布于:2009-05-30 18:27
我记录的就是实际长度,也是以8个字节为单位进行加密的。就是最后的不足8位的无法正常加解密。
按理说,在整个读定过程中,应该是以是pagesize为处理的,那么你无论怎么样将这个PAGE分成若干个数据段都应该可以正常还原了。 |
|
板凳#
发布于:2009-05-31 16:06
通过在SetInformaiton中增加文件的长度可以解决写入的数据读取不出,但是在读取的时候不知如何将增加的文件长度变小?
Query中已处理但是还是不能从根本上解决问题. |
|