开发者

encrypted data return nil string

I am using Rijndael Encryption Algorithm when I am going to encrypt it, it encrypted 开发者_Go百科in NSData. I want that encrypted NSdata into NSString. I tried to convert it into string but it return nil. Have anyone any solutions to get into string.

I am doing like this

NSString *passphrase = @"super-secret";
NSStringEncoding myEncoding = NSUTF8StringEncoding;

NSString *alphaPlain = @"This is a encryption test.";
NSData *alphaDataPlain = [alphaPlain dataUsingEncoding:myEncoding];
NSLog(@"  SimpleText value : %@",alphaPlain);

NSData *alphaDataCypher = [alphaDataPlain AESEncryptWithPassphrase:passphrase];
NSString *alphaStringCypher = [[NSString alloc] initWithData:alphaDataCypher encoding:myEncoding];

NSLog(@"  Encrypted value : %@",alphaStringCypher);

It returns nil value.

Thanks


The encrypted data is no longer a UTF8 string, it's just some sequence of bytes, so decoding it as UTF8 fails.

What do you want to do with the string? If it's just for logging/debugging purposes, you could use [myData description] to get a hex string (with some extra whitespace for better readability). If you need this to transfer the data in a context where you need a textual representation, converting it to Base64 would be a good idea, see this answer for an easy way to do that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜