Вопрос

Я пытаюсь зашифровать HTTP-запросы, используя Crypto ++ и расшифруйте их с Pycrypto на конце сервера приложений. Используя шифрование ARC4, я могу успешно зашифровать и расшифровать на конце iPhone, но когда я пытаюсь расшифровать на приложении двигателя, результат искажен. Зашифровальный текст после шифрования на клиенте совпадает с текстом, полученным на сервере, когда я проверяю журнал, поэтому, если они визуально одинаковы, зачем расшифровать неудачу?

Я подумал, что может быть что-то связано с кодировкой NSString, так как мне найду, мне нужно позвонить в кодировать () на шифре на конце сервера, прежде чем расшифровать, просто чтобы избежать дешифрования (), не входящих в нее, пытаясь кодировать шифру в ASCII. Отказ У меня есть отдельный пост, который немного вписывает в это. Может кто-нибудь предложить несколько советов?

Crypto ++ / Pycrypto с Google App Engine

Обновление: Я обнаружил, что зашифрованный текст, полученный в результате шифрования в C с Crypto ++, не совпадает с зашифрованнымтекстом из шифрования в Python с Pycrypto. Может ли быть что-то, что я делаю не так с инициализацией ключа? Я делаю что-то вроде:

    ARC4::Encryption enc("a");

в C. и в Python я делаю:

testobj=ARC4.new('a')

Результирующий шифр%-учебный, отличается от C, чем в Python. Я заметил, что в C я могу пройти 2-й параметр для Keyalthing, что я догадался, должен быть 1 для «A», что приводит к другому шифру, чем при наличии параметра. Возникший результат% был еще отличным от кодировки Python, хотя.

Есть ли что-нибудь, особенно плохо с моим инициатором?

Это было полезно?

Решение

Я обнаружил, что проблема не была инициатором любого крипто, а по ошибке, пытаясь зашифрованным зашифрованным текстом шифра в NSString, который не может просто принимать сырые двоичные данные без особых кодировков. Хитрость заключалась в том, чтобы кодировать данные в BASE64 или BASE16, чтобы он был читабелен, затем используйте unexlify на конце сервера перед расшифровкой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top