Пожалуйста, кто-нибудь может уточнить, какой тип поставщика (SHA1PRNG или NativePRNG) используется в SecRandomCopyBytes. Заранее спасибо.Тип поставщика SecRandomCopyBytes (SHA1PRNG или NativePRNG) в Objc?
ответ
SHA1PRNG и NativePRNG являются реализациями Java (или заглушками для) генераторов случайных чисел. Очевидно, что функция в Objective C не использует ни одну из них.
"discussion" part of the documentation of SecRandomCopyBytes гласит:
Эта функция считывает данные из/разработчика/случайным образом для получения массива из криптографически безопасных случайных байтов. Для получения дополнительной информации о генераторе/dev/random random-number см. Страницу руководства для случайного (4).
Так что было бы более близко к NativePRNG
на Apple, настроен на использование /dev/random
по всей вероятности.
Обратите внимание, что эта функция может быть настроена на использование различных реализаций:
RNG: Случайный номер объект генератора для использования. Укажите kSecRandomDefault, чтобы использовать генератор случайных чисел по умолчанию.
так сказать, что он использует какой-либо определенный генератор случайных чисел, уже является ошибкой.