我正在使用 CCKeyDerivationPBKDF
在并发环境中生成和验证密码哈希,我想知道它是否线程安全。该函数的文档根本没有提到线程安全,因此我目前使用锁是为了安全起见,但如果不需要,我宁愿不使用锁。
最佳答案
查看CCKeyDerivationPBKDF()
的源代码后,我发现它是“线程不安全”。虽然CCKeyDerivationPBKDF()
的代码使用了许多线程安全的库函数(例如:bzero
),但大多数用户定义的函数(例如:PRF
code>) 以及从这些用户定义函数调用的底层函数可能是线程不安全的。 (例如,由于使用多个指针和不安全的内存转换,例如在CCHMac
中)。我建议除非他们使所有底层函数都是线程安全的,或者有某种机制可以使其有条件地线程安全,否则坚持您的方法,或者修改 commoncrypto
代码以使其线程安全,并且使用该代码。
希望有帮助。
关于python - CCKeyDerivationPBKDF 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072428/