Мое приложение шифрует и дешифрует (или должно шифровать) NSString (текст для шифрования / дешифрования) с другой NSString (ключевое слово), используя aes 256-Bit Encryption. Когда я запускаю свой проект и выполняю метод encrypt, ничего не шифруется, текстовое поле просто очищается. Вот код, который у меня есть:
-(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+. Если это правда, то что я должен сделать, чтобы это шифрование работало на iOS 5 или где я могу найти другую реализацию AES 256-bit, которая будет работать на NSString.
Почему этот код не дает результата?