Rijndael шифрование между iOS и.NET
Я использую библиотеку StringEncryption.m в iOS для шифрования сообщений, а затем декодирую их в проекте.Net.
Для 99,9% сообщений процесс шифрования / дешифрования работает. Однако существует особое сообщение, которое отправляет приложение iOS, которое всегда приводит к ошибке "Заполнение неверно" в проекте.Net.
Сообщение о проблеме имеет длину 800 байт. Если я заставлю его быть 799 или 801 байт, шифрование / дешифрование работает.
Обе стороны используют CBC, а решение iOS использует заполнение PKCS7. Есть идеи?
1 ответ
Решение
Следовал указаниям Ramhounds и создал другое сообщение той же длины. Проблема связана с библиотекой шифрования на iOS.
Нашел ответ здесь: Шифрование 16 байтов UTF8 с помощью разрывов SecKeyWrapper (ccStatus == -4304)