Мое приложение шифрует и расшифровывает (или должно) NSString (текст, который нужно зашифровать/дешифровать) с помощью другого NSString (ключевое слово), используя aes 256-битное шифрование. Когда я запускаю проект и запускаю метод шифрования, ничто не зашифровывается, только текстовое поле просто очищается. Вот код, который у меня есть:
-(void)EncryptText {
//Declare Keyword and Text
NSString *plainText = DataBox.text;
NSString *keyword = Keyword.text;
//Convert NSString to NSData
NSData *plainData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
//Encrypt the Data
NSData *encryptedData = [plainData AESEncryptWithPassphrase:keyword];
//Convert the NSData back to NSString
NSString* cypherText = [[NSString alloc] initWithData:encryptedData encoding:NSUTF8StringEncoding];
//Place the encrypted sting inside the Data Box
NSLog(@"Cipher Text: %@", cypherText);
}
Заголовочные файлы можно скачать, нажав на эту ссылку: ZIP файл, содержащий AES-реализацию
Мне сказали, что мне нужно использовать кодировку Base-64 для моей строки, чтобы получить какой-либо результат. Если это так, то как это сделать?
Мне также сказали, что шифрование изменено в iOS 5, а мое приложение - приложение iOS 5+ ONLY. Если это так, то что мне нужно сделать, чтобы сделать это шифрование на iOS 5 или где я могу найти еще одну 256-битную реализацию AES, которая будет работать на NSString.
Почему этот код не создает результат?