我有如下加密的文本:
NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data withSettings:kRNCryptorAES256Settings password:[loggedUser getKey]error:&error];
然后我试图将字符串转换为关闭并将其存储在某个地方。这就是我正在尝试的:
NSString *convertedString = [[NSString alloc] initWithData:encryptedData encoding:NSUTF8StringEncoding];
然而,字符串 convertedString
始终为 null/nil,即使调试器向我显示 encryptedData
始终包含数据。如何将其转换为字符串?此外,按照同样的思路,我如何将其转换回 NSData
以便稍后解密?
这是我尝试转换的 NSData
的示例输出:
Printing description of encryptedData: <0301ff17 956167db a88cdc14 7cab1a85 28ad01c9 78c5a843 ecf22404 9c2c6915 7681277b 6e1161d8 1dd1122b 29c65f76 8bf95652 791cf2b0 3231b7b6 dbd00cb6 56301058 bfdebd9c 5edfcfe2 bc21c4fc 707a>
最佳答案
你应该直接发送NSData
。或使用 base64EncodedStringWithOptions:
对其进行 base64 编码
关于ios - 无法将 NSData 转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554539/