我有正在加密的文字如下:
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
始终在其中包含数据,字符串encryptedData
也始终为null / nil。如何将其转换为字符串?另外,沿着相同的路线,如何将其转换回NSData
以便稍后解密?
以下是我尝试转换的NSData
的示例输出:
打印encryptedData的描述:< 0301ff17 956167db a88cdc14 7cab1a85 28ad01c9 78c5a843 ecf22404 9c2c6915 7681277b 6e1161d8 1dd1122b 29c65f76 8bf95652 791cf2b0 3231b7b6 dbd00cb6 56301058 bfdebd9c 5edfcfe2 bc21c4fc 707a>
答案 0 :(得分:2)
您应该直接发送NSData
。或base64使用base64EncodedStringWithOptions:
答案 1 :(得分:0)
试试这个:
NSString *a = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSASCIIStringEncoding];
除UTF-8编码外最常见的是: