gpt4 book ai didi

objective-c - 无法通过 RNCryptor 解密文本文件

转载 作者:行者123 更新时间:2023-12-03 17:20:48 25 4
gpt4 key购买 nike

我已经使用此代码通过 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];

我得到一个空白文本文件作为输出,我在这里做错了什么?请帮忙

为什么?如何解决这个问题任何人都可以提供解决方案

最佳答案

好的,如果是这种情况,那么我认为您的文件已损坏或系统未获取它。做一件事,尝试加密和解密另一个文件,尝试是否有效。

当您尝试在 mac 中使用 textedit 创建文本文件并且将其保存为 somefile.txt 时,有时会在 mac 中发生警告,并显示“无法将此扩展名为 txt 的文档保存到末尾”名称” 像这样,请注意,当您尝试在其名称末尾添加“.txt”扩展名来保存它时,就会发生这种情况。

我在textedit中创建了一个文件,当我像你在问题中所说的那样加密时,我得到它的大小为82字节,然后我在文本编辑中创建了另外2个文件并加密它们,它们也包含相同的大小82。无法解密相同的文件,解密后的文件大小显示为0字节,没有任何内容。我不知道你是否得到解密后的文件为 0 字节。

然后我给出了一个我的mac书中不存在的文件作为要加密的源文件。令我惊奇的是,我得到了一个加密文件,其名称与我提供的名称相同,大小也相同 82 字节!

然后对于解决方案,在textedit中创建一个文本文件并保存为rtf,然后转到您在系统中存储它的位置,并像这样重命名该文件。

如果您的文件名是 somefile,则将其重命名为 somefile.txt。

现在尝试再次进行加密和解密,它会起作用:-)

关于objective-c - 无法通过 RNCryptor 解密文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28319355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com