AES256 NSString Encryption in iOS

Мое приложение шифрует и дешифрует (или должно шифровать) NSString (текст для шифрования / дешифрования) с другой NSString (ключевое слово), используя 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.

Почему этот код не дает результата?

14
задан Sam Spencer 12 August 2013 в 20:34
поделиться