IOS шифрование отличается в Xcode11 выше - PullRequest
0 голосов
/ 14 января 2020

До xcode11 шифрование get для ios12 ниже и ios13 выше было одинаковым.

Но после обновления до xcode11 шифрование в ios12 ниже остается прежним. Но в Ios13 выше строка шифрования, которую я получаю, включает в себя «длину» и «байты».

*

IOS12 ниже 1005 * * *

1007 * a7eec1e7b1514058683ebae8e1d86b6b37d4b0e8f6316cbfcd2b42c5ec5952e450c8b0b68e26cbb560fcbc158261c3d7365125b9ec0fb4f7b484beeaf12827ba04c7e8e86b735e04427e0f3957fda8c0ca3133c1d8f4218a415b8740422b41a60bf54e3f8c32d0d3fba4a9de1d59fc4603c97baa6387f1f0b9b27b1e0722350f04b763f002d38afe99553b1511e8c12db3aae59f30a02b44529d3c4866b9449cdb40b60a7b19dbf5e4e47da39c1c3995470c463cf82dfdb1247f7d524076292248f31b43d49c31ec4f76233763190e2 1018 *

IOS13 выше.

* * 1013 {длина = 208, байт = 0xa7eec1e7b1514058683ebae8e1d86b6b ... fac0266ed36ff1ef}

Я хочу получить только байты в IOS13. Извините за мой плохой английский sh. и спасибо за помощь

1 Ответ

2 голосов
/ 14 января 2020

Прежде всего, ваш не самый точный способ задать вопрос здесь, но давайте все равно попробуем решить его:

Я полагаю, что вы получаете это шифрование из некоторых данных, которые делают что-то вроде:

NSString *encryptionString = [NSString stringWithFormat:@"%@",encryptionData];

В прошлых iOS версиях она работала нормально, возвращая только String, но начиная с iOS13 вы получите описание данных, что-то вроде:

$1 = 0x0000000283373150 @"{length = 32, bytes = 0xf394ff84 a55f406d 165ab4fd d17eca51 ... 5c4cfdd1 06856852 }"

В настоящее время вам нужно преобразовать данные, отправив данные в метод следующим образом:

NSString * encryptionString = [self stringFromData: encryptionData];

Метод, который нужно вызвать:

- (NSString *) stringFromData:(NSData *)myData {
    NSUInteger length = myData.length;
    if (length == 0) {
        return nil;
    }
    const unsigned char *buffer = myData.bytes;
    NSMutableString *hexString  = [NSMutableString stringWithCapacity:(length * 2)];
    for (int i = 0; i < length; ++i) {
        [hexString appendFormat:@"%02x", buffer[i]];
    }
    return [hexString copy];
}

Этот метод вернет нужную строку NSString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...