Мне нужно разъяснение. Я следую руководству по Хэш sha256 в Быстрый, и мое приложение находится в Цель C. У меня проблемы с переводом этого UInt8 в Objective c. Что эквивалентно в Objective C?
let rsa2048Asn1Header:[UInt8] = [
0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00
]
Я пробовал это, но не уверен, что это правильно, мне нужно подтверждение
UInt8 rsa2048AsnlHeader[] = {
0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00};





Да, то, что вы разместили выше, будет работать, если вы просто хотите использовать примитивный массив в Objective-C.
Другой вариант - использовать NSArray, показанный ниже:
NSArray<NSNumber *> *rsa2048AsnlHeader = @[
@0x30, @0x82, @0x01, @0x22, @0x30, @0x0d, @0x06, @0x09, @0x2a, @0x86, @0x48, @0x86,
@0xf7, @0x0d, @0x01, @0x01, @0x01, @0x05, @0x00, @0x03, @0x82, @0x01, @0x0f, @0x00
];
Чтобы получить эквивалентное значение UInt8 из элементов NSNumber, используйте свойство unsignedCharValue класса NSNumber (что эквивалентно uint8Value в Swift). Например:
for (NSNumber *value in rsa2048AsnlHeader) {
UInt8 uint8Value = value.unsignedCharValue;
// ...
}
@kAiN Конечно, не стесняйтесь задавать еще один вопрос, и я постараюсь вам помочь. А пока примите этот ответ, если он решил вашу исходную проблему. Спасибо!
Конечно! .. Я разместил еще один вопрос stackoverflow.com/questions/53361681/… .... Принимаю ваш ответ на этот вопрос .. Спасибо ryanecrist
Я понимаю ... Я еще один помощник для эквивалентности метода Swift ... я впервые работаю с SHA256, и я пытаюсь понять, но мы также понимаем, что эквивалент C-линзы Swift становится немного сложнее . .. могу я тебя побеспокоить? таким образом вы также можете сказать мне, что моя реализация UInt8 верна