【问题标题】:Want to convert 3DES Encrypted NSData to NSString想要将 3DES 加密的 NSData 转换为 NSString
【发布时间】:2012-11-22 03:32:40
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: objective-c ios encryption nsdata 3des


    【解决方案1】:

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

    这里描述了 NSData 到 NSString 的转换:Converting NSData to base64

    【讨论】:

    • 除了 Base64 字符串之外,我还有其他方法可以将加密数据发送到 SOAP Webservice 吗?
    • 发送十六进制表示是另一种选择。请记住,您需要在服务器端进行转换,所以不要尝试太有创意。
    • 对于短字符串,十六进制表示会是更好、更容易实现的解决方案,我同意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    • 2012-11-09
    • 2011-11-11
    相关资源
    最近更新 更多