2014-11-25 2 views
0

У меня есть AES128 зашифрованные веб-сервисы Я использую AFHTTPRequestOperationManager и я получаю хороший ответ (отклик зашифрованную строку) Когда я пытаюсь decript строку я смотрю неправильный ответ Это мой код:AES128 проблемы декодирования

NSString *string = [[NSString alloc]initWithData:response encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",string); 

NSString *decodedString = [AES128Util AES128Decrypt:string key:Key]; 
NSLog(@"%@",decodedString); 

ключ хорошо обусловленно на андроид работы правильно в первом NSLog я прочитал правильно кодированный ответ Во втором NSLog я прочитал строку с нулевым Благодаря

Edit: LR1JZEOE8MgbEgyZtbqSAbO5ZL5wYBCpLX0KE4PynsFZiRBJe3lvRRr0CPbf0ufuSga8dG5j6IeDBvbn1iNeLUb7cYIb + caSXZw7t8TgrYA = Это извлеченный закодированных строк

ответ

0

Много может быть неправильно с шифрованием, и это своего рода трудно отлаживать (или я должен сказать, что это имеет двоичное поведение рабочего или неисправного ...)

Вначале я был бы очень доволен, что мой ключ хорош.

После этого вы можете посмотреть на код AES128Util https://github.com/GreenWangcl/AES128-for-iOS/blob/master/ASE128Demo/ASE128/AES128Util.m

кодирования, кажется, хорошо, иначе я бы Recommand попробовать Latin1 или другие.

Так что если у вас есть рабочая реализация на Android одна интересная линия должна быть в этом AES128Util:

CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, 
             kCCAlgorithmAES128, 
             kCCOptionPKCS7Padding, 
             keyPtr, 
             kCCBlockSizeAES128, 
             NULL, 
             [data bytes], 
             dataLength, 
             buffer, 
             bufferSize, 
             &numBytesCrypted); 

Отметьте опцию обивки в вашем Android реализации, может быть, это не PKCS7.

Если это так, параметры должны быть практически одинаковыми для Android, и вы можете попытаться оценить, что другое.

Ps: personnaly Я использую https://github.com/RNCryptor/RNCryptor, и он отлично работает с нашим расшифровкой AES 128 (например, у вас также есть приложение для Android и сервер, делающий шифрование).

+0

Привет, Борис, если я пришлю вам ключ, который вы попробуете с помощью RNCryptor? Я пробую весь этот день безрезультатно. Спасибо –

+0

Я могу найти время tomorow;) –

+0

Итак ... вам это удалось? –