想要将3DES加密的NSData转换为NSString

时间:2012-12-04 13:29:50

标签: objective-c ios encryption nsdata 3des

在我的项目中,我使用3DES加密算法加密一些数据(字符串)。我传递给加密函数的字符串返回一个NSData对象。

现在我想将NSData转换为NSString,以便我可以将该字符串发送到服务器。

所以我用这段代码将NSData转换为NSString

NSString *stringCreated = [[NSString alloc] initWithData:encryptedData encoding:NSASCIIStringEncoding];

但是当我打印这个字符串时,它会在控制台上打印很少的字符。我认为很少有字符会产生一个“\ 0”序列,因为它只打印字符串到该字符。

我尝试使用NSUTF8StringEncoding对数据进行编码,但它返回我(null)。

我想将完整的字符串发送到服务器,现在该怎么办?

1 个答案:

答案 0 :(得分:3)

这不起作用,因为加密字符串是二进制数据。如果您需要使用文本表示,请将其转换为Base64。

这里描述了将NSData转换为NSString:Converting NSData to base64