Существует Common Crypto API.
#import <CommonCrypto/CommonCryptor.h>
+ (NSData *)doCipher:(NSData *)dataIn
iv:(NSData *)iv
key:(NSData *)symmetricKey
context:(CCOperation)encryptOrDecrypt
{
CCCryptorStatus ccStatus = kCCSuccess;
size_t cryptBytes = 0; // Number of bytes moved to buffer.
NSMutableData *dataOut = [NSMutableData dataWithLength:dataIn.length + kCCBlockSizeAES128];
ccStatus = CCCrypt( encryptOrDecrypt,
kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
symmetricKey.bytes,
kCCKeySizeAES128,
iv.bytes,
dataIn.bytes,
dataIn.length,
dataOut.mutableBytes,
dataOut.length,
&cryptBytes);
if (ccStatus != kCCSuccess) {
NSLog(@"CCCrypt status: %d", ccStatus);
}
dataOut.length = cryptBytes;
return dataOut;
}
Также добавьте Security.framework в ваш проект.
Если важна безопасность, подумайте о том, чтобы кто-нибудь с опытом безопасности создал код и протокол,Если безопасность не важна, просто отправьте пароль в открытом виде.
Несколько ошибок в приложении не так уж и плохи, приложение по-прежнему в основном работает, одна ошибка в безопасности и вся безопасность потеряна.
Хорошая безопасность не так проста, как можно подумать.