【发布时间】:2017-02-13 06:35:42
【问题描述】:
请任何人澄清在 SecRandomCopyBytes 中使用了哪种类型的提供程序(SHA1PRNG 或 NativePRNG)。提前致谢。
【问题讨论】:
标签: ios security cryptography
请任何人澄清在 SecRandomCopyBytes 中使用了哪种类型的提供程序(SHA1PRNG 或 NativePRNG)。提前致谢。
【问题讨论】:
标签: ios security cryptography
SHA1PRNG 和 NativePRNG 是随机数生成器的 Java 实现(或存根)。显然,Objective C 中的函数不使用任何一个。
"discussion" part of the documentation of SecRandomCopyBytes 内容如下:
此函数从 /dev/random 读取数据以获取加密安全随机字节数组。有关 /dev/random 随机数生成器的更多信息,请参阅 random(4) 的手册页。
因此,在 Apple 配置为很可能使用 /dev/random 时,它会更接近 NativePRNG。
请注意,该函数可以配置为使用不同的实现:
rng:要使用的随机数生成器对象。指定 kSecRandomDefault 以使用默认随机数生成器。
所以说它使用任何特定的随机数生成器已经是一个错误。
【讨论】: