我正在尝试使用s3fs,一个基于FUSE的文件系统来备份亚马逊云端的数据。在我的实现中,我使用AES开发了两个函数:加密++中的CBC来加密和解密文件中的数据。我的问题是,当我使用s3fs中的解密函数来解密txt文件X时,结果总是在X的相同位置错误但结果不同。但是,如果我使用另一个测试程序调用相同的函数来解密文件X,而不是在s3fs中,结果总是正确的。我的系统是Ubuntu,内核2.6.32-35,FUSE 2.8.6。我正在使用C ++实现。感谢。
PS:加密功能在s3fs程序和其他测试程序中都有效,因为同一源文件的加密输出是相同的。只有s3fs程序中的解密函数才会产生错误的输出。