how can I translate a NSString to NSData? And the data has the same content as the string
1 2 3 4 5 6 7 8 | NSString * theString=@"e88d"; NSData * data; // something I should implement NSLog(@"%@", theString); NSLog(@"%@",[data description]); |
我希望两次打印的结果相同。
AES加密和解密:
(1)服务器:
如果明文是
aes加密的
(2)在我的本地应用程序中,我的代码是:
1 2 | NSData*data=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://..."]]; NSString * mystring= [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; |
然而,要成功地解密数据,我必须有一个
加密和解密功能都需要一个
1 2 | - (NSData*)AES128EncryptWithKey:(NSString*)key; - (NSData*)AES128DecryptWithKey:(NSString*)key; |
我想这可以回答你的问题
如何将nsstring值转换为nsdata?
要设置的描述不是特定于实例的值。它是类/对象的描述。nsdata的描述如下:"这是一个数据对象"。您可以通过重写该方法来重写该值。
1 2 3 | - (NSString *)description { return @"e88d"; //normally used for class description } |
当然,您必须为此继承nsdata对象,然后像上面的代码一样重写描述。
我不认为你想用描述来解释这一点,只是解释它在每节课上的用途。
你可能想要的是:
1 2 3 4 5 | NSString * theString=@"e88d"; NSData * data=[theString dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"%@", theString); NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]); |
这个怎么样?
1 2 3 | NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://..."]]; NSData *decryptedData = [data AES128DecryptWithKey:key]; NSString *mystring = [[NSString alloc] initWithData:decryptedData encoding:NSUTF8StringEncoding]; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @interface NSString (Joke) - (NSString *)description; @end @implementation NSString (Joke) - (NSString *)description { return @"Panda!"; } @end @interface NSData (Joke) - (NSString *)description; @end @implementation NSData (Joke) - (NSString *)description { return @"Panda!"; } @end |