我已使用此代码
通过RNcryptor成功加密了文本文件NSFileManager *filemgr;
NSData *databuffer;
filemgr = [NSFileManager defaultManager];
NSString *destPath = @"Users/DivyaDinesh/Downloads/abcde";
databuffer = [filemgr contentsAtPath: @"Users/DivyaDinesh/Downloads/abcd" ];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:databuffer
withSettings:kRNCryptorAES256Settings
password:@"ABC123"
error:&error];
[encryptedData writeToFile:destPath atomically:YES];
然后我尝试使用此代码解密相同的代码
NSString *destPath1 = @"Users/DivyaDinesh/Downloads/abcdg";
NSData *encryptedData = [NSData dataWithContentsOfFile:@"Users/DivyaDinesh/Downloads/abcde"];
NSError *error;
NSData *decryptedData = [RNDecryptor decryptData:encryptedData withPassword:@"ABC123" error:&error];
[decryptedData writeToFile:destPath1 atomically:YES];
我得到一个空白文本文件作为输出,我在这里做错了什么?请帮忙
为什么呢?如何解决这个问题,任何人都可以提供解决方案
答案 0 :(得分:0)
好的,如果是这种情况,那么我认为你的文件已损坏或系统没有提取它。做一件事,尝试加密和解密另一个文件,尝试它是否有效。
当你尝试在textedit中用mac创建一个文本文件时有时会发生在Mac中,当你将它保存为somefile.txt时会发出警告,并说"cannot save this document with extension txt to the end of the name"
就像那样,请注意当你尝试时它会发生使用" .txt"保存它延伸到它的名字的末尾。
我在textedit中创建了一个文件,当我加密像你在问题中说的那样,我得到它的大小为82字节,然后我在文本编辑中创建了2个文件并加密它们它们也包含相同的大小82.我是无法解密相同的文件,解密的文件大小显示为0字节,根本没有内容。我不知道你是否将解密文件作为0字节。
然后我给了一个我的mac书中不存在的文件作为要加密的源文件。令我惊讶的是,我得到了一个带有我提供的名称的加密文件,并且它也具有相同的82字节大小!
然后为解决方案在textedit中创建一个文本文件并保存为rtf,然后转到你将它存储在你的系统中的地方,然后像这样重命名文件。
如果您的文件名是somefile,则将其重命名为somefile.txt。
现在尝试再次进行加密和解密,它将起作用: - )