Objective c 要将3DES加密的NSData转换为NSString吗
在我的项目中,我使用3DES加密算法加密一些数据(字符串)。传递给加密函数的字符串返回NSData对象 现在,我想将NSData转换为NSString,以便将该字符串发送到服务器 所以我用这段代码将NSData转换为NSStringObjective c 要将3DES加密的NSData转换为NSString吗,objective-c,ios,encryption,nsdata,3des,Objective C,Ios,Encryption,Nsdata,3des,在我的项目中,我使用3DES加密算法加密一些数据(字符串)。传递给加密函数的字符串返回NSData对象 现在,我想将NSData转换为NSString,以便将该字符串发送到服务器 所以我用这段代码将NSData转换为NSString NSString*stringCreated=[[NSString alloc]initWithData:encryptedData encoding:NSASCIIStringEncoding] 但是当我打印这个字符串时,它会在控制台上打印很少的字符。我认为很少有
NSString*stringCreated=[[NSString alloc]initWithData:encryptedData encoding:NSASCIIStringEncoding]代码>
但是当我打印这个字符串时,它会在控制台上打印很少的字符。我认为很少有字符会生成“\0”序列,因此它只能将字符串打印到该字符
我试图用NSUTF8StringEncoding
对数据进行编码,但它返回我(null)
我想将完整的字符串发送到服务器,现在该怎么办 这将不起作用,因为加密字符串是二进制数据。如果需要使用文本表示,请将其转换为Base64
这里描述了将NSData转换为NSString的过程:除了Base64字符串之外,还有其他方法可以将加密数据发送到SOAP Webservice吗?发送十六进制表示是另一种选择。请记住,您需要在服务器端重新转换,所以不要尝试太过有创意。对于短字符串,十六进制表示法在实现解决方案中会更好、更容易,我同意。