iphone での AES 暗号化に関する以前に対処したヒントを使用しました。
NSString *mystr= [[self encryptString:[message valueForKey:@"message"] withKey:@"password"] hexadecimalString];
NSData *mydata= [self encryptString:[message valueForKey:@"message"] withKey:@"password"];
NSLog (@"Immediate decrypt data: %@",[self decryptData:mydata withKey:@"password"]);
NSLog (@"Immediate decrypt string: %@",[self decryptData:[mystr dataUsingEncoding:NSUTF8StringEncoding] withKey:@"password"]);
最初の NSLog は文字列を正しくデコードし、2 番目は null を返します。このクラス内のメソッド:
+ (NSData*) encryptString:(NSString*)plaintext withKey:(NSString*)key {
return [[plaintext dataUsingEncoding:NSUTF8StringEncoding] AES256EncryptWithKey:key];
}
+ (NSString*) decryptData:(NSData*)ciphertext withKey:(NSString*)key {
return [[NSString alloc] initWithData:[ciphertext AES256DecryptWithKey:key]
encoding:NSUTF8StringEncoding] ;
}
および NSData のヘッダー (暗号化)
- (NSData *)AES256EncryptWithKey:(NSString *)key;
- (NSData *)AES256DecryptWithKey:(NSString *)key;