我需要读取一个文本,二进制或组合形式的大文件,例如JPEG文件,对其进行加密,然后将其写入文件。在以后的某个时间,我将需要读取加密的数据并将其解密。最终目标是验证解密后的数据是否与原始数据匹配。我的问题是,对于大于1Meg的大文件,我不想一个字一个字地读写。我将此代码定位于手机,而I / O会对用户造成太长的延迟。对于纯文本文件,使用fread()和fwrite()将数据转换为二进制,结果与原始结果不同。对于jpeg图像,似乎有些文本内容与二进制数据混合在一起。有没有一种方法可以有效地读取任意类型的文件并以原始格式写回?还是逐字逐句是唯一的选择?还是我还是没有运气?
调试后,事实证明解密功能具有向后分配的纯文本和密文缓冲区。交换缓冲区分配后,解密结果与原始数据匹配。我本来以为可能以二进制形式读取文本,然后以二进制形式重写则不会显示为文本,但是我错了。以二进制形式读取整个文件就可以了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句