Nonsense not much to say, directly on the code:
Header file:
#import <Foundation/Foundation.h> @class nsstring, @interface nsdata (encryption)-(NSData *) Aes256parmencryptwithkey: (NSString *) key; Encryption-(NSData *) Aes256parmdecryptwithkey: (NSString *) key; Decryption @end
. m implementation file:
#import "Encryption.h" #import <CommonCrypto/CommonCryptor.h> @implementation NSData (encryption)-(NSData *) Aes256parmencryptwithkey: (NSString *) key//encryption {char keyptr[kcckeysizeaes256+1]; Bzero (keyptr, sizeof (KEYPTR)); [Key Getcstring:keyptr maxlength:sizeof (KEYPTR) encoding:nsutf8stringencoding]; Nsuinteger datalength = [self length]; size_t buffersize = datalength + kCCBlockSizeAES128; void *buffer = malloc (buffersize); size_t numbytesencrypted = 0; Cccryptorstatus cryptstatus = Cccrypt (Kccencrypt, kCCAlgorithmAES128, KCCOPTIONPK cs7padding | Kccoptionecbmode, Keyptr, kCCBlockSizeAES128, NULL, [self bytes], datalength, BU Ffer, buffersize, &numbytesencrypted); if (Cryptstatus = = kccsuccess) {return[NSData Datawithbytesnocopy:buffer length:numbytesencrypted]; } free (buffer); return nil;} -(NSData *) Aes256parmdecryptwithkey: (NSString *) key//decryption {char keyptr[kcckeysizeaes256+1]; Bzero (keyptr, sizeof (KEYPTR)); [Key Getcstring:keyptr maxlength:sizeof (KEYPTR) encoding:nsutf8stringencoding]; Nsuinteger datalength = [self length]; size_t buffersize = datalength + kCCBlockSizeAES128; void *buffer = malloc (buffersize); size_t numbytesdecrypted = 0; Cccryptorstatus cryptstatus = Cccrypt (Kccdecrypt, kCCAlgorithmAES128, KCCOPTIONPK cs7padding | Kccoptionecbmode, Keyptr, kCCBlockSizeAES128, NULL, [self bytes], datalength, BU Ffer, buffersize, &numbytesdecrypted); if (Cryptstatus = = kccsuccess) {return [NSData Datawithbytesnocopy:buffer length:numbytesdecrypted]; } free (buffer); return nil;}