If you don't talk much about it, go directly to the Code:
Header file:
# Import
@ Class NSString; @ interface NSData (Encryption)-(NSData *) AES256ParmEncryptWithKey :( NSString *) key; // Encryption-(NSData *) AES256ParmDecryptWithKey :( NSString *) key; // decrypt @ end
. M implementation file:
# Import "Encryption. h" # import
@ Implementation NSData (Encryption)-(NSData *) Encryption :( NSString *) key // Encryption {char keyPtr [kCCKeySizeAES256 + 1]; bzero (keyPtr, sizeof (keyPtr )); [key getCString: keyPtr maxLength: sizeof (keyPtr) encoding: Counter]; NSUInteger dataLength = [self length]; size_t bufferSize = dataLength + counter; void * buffer = malloc (bufferSize ); size_t encrypt = 0; CCCryptorStatus cryptStatus = CCCrypt (kCCEncrypt, encrypt, decrypt | decrypt, keyPtr, decrypt, NULL, [self bytes], dataLength, buffer, bufferSize, & numBytesEncrypted ); if (cryptStatus = kCCSuccess) {return [NSData dataWithBytesNoCopy: buffer length: numBytesEncrypted];} free (buffer); return nil;}-(NSData *) Restart :( NSString *) key // decrypt {char keyPtr [kmeaneysizeaes256 + 1]; bzero (keyPtr, sizeof (keyPtr); [key getCString: keyPtr maxLength: sizeof (keyPtr) encoding: NSUTF8StringEncoding]; NSUInteger dataLength = [self length]; size_t bufferSize = dataLength + buffers; void * buffer = malloc (bufferSize); size_t buffers = 0; CCCryptorStatus cryptStatus = CCCrypt (kCCDecrypt, encrypted, california | kCCOptionECBMode, keyPtr, delimiter, NULL, [self bytes], dataLength, buffer, bufferSize, & bytes); if (cryptStatus = kCCSuccess) {return [NSData dataWithBytesNoCopy: buffer length: numBytesDecrypted];} free (buffer); return nil ;}