У меня есть приложение для iPhone, которое шифрует введенную строку NSString с помощью CCCrypt (AES256) и ключ в виде открытого текста. Строка и ключ передаются методу шифрования, который возвращает объект NSData.
Запрос [описание данных], где «данные» - это зашифрованные строковые данные, дает строку NSString: «<0b368353 a707e7de 3eee5992 ee69827e e3603dc2 b0dbbc0b 861ca87d f39ce72a>», но когда я пытаюсь преобразовать это в NSString )».
Мне нужно вернуть NSString пользователю, который может быть использован для дешифрования обратно к исходной строке с использованием того же открытого текста. Если свойство 'description' объекта NSData может возвращать строку, есть ли способ, которым я могу создать NSString из объекта NSData, не получая "(null)"?
ОБНОВЛЕНИЕ: Спасибо Куинну, который предлагает использовать кодировку Base64 для получения запутанной строки. Из того, что я понимаю, кодировка Base64 не просто меняет символы, но обмен символами зависит от позиции, так что это нормально.
Мое единственное беспокойство заключается в том, что я хочу иметь возможность зашифровать сообщение с помощью «парольной фразы» и требовать ввода идентичной парольной фразы при необходимости расшифровки запутанной строки - кто-нибудь может предложить способы реализации этого?