Что-то не хватает в iPhone / PHP шифрование / дешифрование - PullRequest
0 голосов
/ 03 ноября 2010

Я пытался реализовать шифрование между приложением iPhone и веб-сервисом PHP.Это не работает, однако.Кажется, что первая половина текста НЕ расшифровывается, а вторая половина прекрасно расшифровывается.Что мне делать?

Метод шифрования PHP выглядит следующим образом:

function decrypt($str, $iv) {
    $iv .= "00000000";
    $str = base64_decode($str);
    return self::decrypt_data($str, $iv, self::secret_key);
}

В iPhone для шифрования текста используется класс CryptoHelper, например:

NSString *encrypted = [[CryptoHelper sharedInstance] encryptString:dataString];

Класс CryptoHelper можно увидеть на http://pastie.org/1267796.

1 Ответ

1 голос
/ 03 ноября 2010

Попробуйте простой пример, когда вы отправляете известную строку в кодировке Base64 из приложения iPhone в PHP.

Сравните известную действительную строку с тем, что получает PHP.Я недавно узнал, что при попытке сделать запись Ajax из скрипта в PHP у нас были проблемы с преобразованием некоторых символов (в частности, +) в пробелы PHP, потому что он выполнял декодирование URL-адреса автоматически.Нам пришлось переключить все + на их % (кодированный URL %2B) эквивалент.Это решило проблему для нас.

...