答案显然是yes在Java实现,但如何Org.BouncyCastle.Security.SecureRandom
在C#中?C#线程安全中的BouncyCastle的SecureRandom?
2
A
回答
2
因为,据我所知,目前还没有正式的(甚至任何)C#充气城堡端口的文件 - 所有我们能做的就是看源代码,并试图得出一些结论。这里是SecureRandom的源代码。我们可以看到主要的方法有NextCounterValue
(用于生成种子)和NextBytes
用于生成实际的随机数据。 NextCounterValue
是线程安全的(使用Interlocked.Increment
)。 NextBytes
将实施转发到IRandomGenerator
的实例。既然你可以传递任何IRandomGenerator
实例的SecureRandom
构造 - 我们可以断定,它的线程安全取决于的IRandomGenerator
使用。
还当上完整的.NET框架,SecureRandom
使用CryptoApiRandomGenerator作为主发生器(生成种子)以及一个只是包装器.NET RNGCryptoServiceProvider
正如我们所知道的是线程安全的。
如果你只是创建SecureRandom
不传递任何IRandomGenerator
?然后,它会创建的DigestRandomGenerator
(code)实例,它似乎是线程安全的(使用简单lock
在NextBytes
)。
总而言之,如果您未通过IRandomGenerator
的线程安全的实例,则可以说SecureRandom
是线程安全的。
相关问题
- 1. SecureRandom线程安全吗?
- 2. C中的线程安全?
- 3. BouncyCastle有SecureRandom服务吗?
- 4. C#线程安全
- 5. 是C#中的CreateDirectory()线程安全吗?
- 6. C#中的线程安全和System.Text.Encoding
- 7. ActiveSupport :: SecureRandom是如何安全的?
- 8. C/C++ tmpnam的线程安全性?
- 9. 线程安全应用程序中的线程安全
- 10. C++线程安全摘要
- 11. C#:线程安全事件
- 12. C++线程安全整数
- 13. C++线程安全映射
- 14. C++线程安全和notify_all()
- 15. JSF中的线程安全
- 16. GNUTLS中的线程安全
- 17. Javascript中的线程安全?
- 18. 线程安全的
- 19. C++中的多线程线程安全动画建议
- 20. c中使用线程安全随机数的多线程
- 21. C#和线程安全的bool
- 22. SQLite3线程安全的last_insert_rowid API(C++)
- 23. 线程安全的C#不工作
- 24. C++线程安全的队列关机
- 25. C socket API是线程安全的吗?
- 26. C++映射的线程安全
- 27. C++的基于线程的线程安全的std :: cerr
- 28. 线程安全在C中增加#
- 29. 在C中为OpenMP使线程安全函数安全
- 30. 线程安全
相关(因为它也是关于如何正确使用此类无证基础):https://stackoverflow.com/q/46792373/1709587 –