如何将加密数据转换为字符串

时间:2012-02-16 07:28:45

标签: iphone encoding cryptography aes

我使用Any cocoa source code for AES encryption decryption?中发布的代码加密了NSData(由Rob Keniger回答)。现在我需要检查加密是否正确。为此,我使用代码

将加密的NSData转换为NSString
NSString *string=[[NSString alloc]initWithBytes:[cipherData bytes] length:[cipherData length] encoding:NSUTF8StringEncoding]; 

但是当NSLog编辑时,它显示(null)。我怀疑crypt()函数是否以不同的编码加密数据而不是NSUTF8StringEncoding?

1 个答案:

答案 0 :(得分:1)

总的来说,NSData不能直接转移到NSString,我有一个建议,你可以把这个NSData转换为Base64 NSString,如果你不想隐身,那么使用从NSString到NSData的Base64,找到一个“GTMBase64 .h“,这将有助于你

编码

NSString *imageStr = [GTMBase64 stringByEncodingData:imageData];

解码

NSData *imageData = [GTMBase64 decodeString:imageStr];