请有人澄清SecRandomCopyBytes中使用的提供商类型(SHA1PRNG或NativePRNG)。提前谢谢。
答案 0 :(得分:2)
SHA1PRNG和NativePRNG是随机数生成器的Java实现(或存根)。显然,Objective C中的函数不使用任何一个。
"discussion" part of the documentation of SecRandomCopyBytes读取:
此函数从/ dev / random读取以获取加密安全随机字节的数组。有关/ dev / random random-number生成器的更多信息,请参见random(4)的手册页。
因此,在Apple配置为完全使用NativePRNG
的情况下,/dev/random
会更接近。{/ p>
请注意,可以将该功能配置为使用不同的实现:
rng:要使用的随机数生成器对象。指定kSecRandomDefault以使用默认随机数生成器。
所以说它使用任何特定的随机数发生器已经是一个错误。