答案顯然是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. Java中的SecureRandom安全種子
- 5. C#線程安全
- 6. SecureRandom:線程安全,無爭用且仍然具有密碼安全性?
- 7. 是C#中的CreateDirectory()線程安全嗎?
- 8. 在C++中的線程安全隊列
- 9. C#中的線程安全和System.Text.Encoding
- 10. ActiveSupport :: SecureRandom是如何安全的?
- 11. C/C++ tmpnam的線程安全性?
- 12. 線程安全應用程序中的線程安全
- 13. C++多線程 - 線程安全代碼
- 14. C#+ =線程安全嗎?
- 15. C++線程安全和notify_all()
- 16. C++線程安全整數
- 17. C#變量線程安全
- 18. C++線程安全映射
- 19. C++線程安全摘要
- 20. C#:線程安全事件
- 21. 是C#Font.Height線程安全
- 22. C++線程安全vector.erase
- 23. VB.Net中的線程安全
- 24. GNUTLS中的線程安全
- 25. JSF中的線程安全
- 26. Javascript中的線程安全?
- 27. java線程安全:線程安全嗎?
- 28. 線程安全的
- 29. 線程安全的,
- 30. c中使用線程安全隨機數的多線程
相關(因爲它也是關於如何正確使用此類無證基礎):https://stackoverflow.com/q/46792373/1709587 –