Golang是一種程式語言,它以其高效性和並發性而聞名。然而,關於Golang的加密和執行緒安全性一直是開發者關注的重點。在這篇文章中,php小編香蕉將分享關於Golang加密和Golang線程安全性的一些觀點和建議。我們將探討Golang在加密方面的特性,以及如何確保執行緒安全性,以幫助開發者更好地理解並應用Golang。無論你是初學者還是有經驗的開發者,這篇文章都將為你提供有價值的資訊和指導。
math/rand.rand 的來源指出 read
不是執行緒安全的(共享來源時)。加密/蘭特怎麼樣?原始程式碼指出它使用 getrandom(2)
或 /dev/urandom
,但尚不清楚並發呼叫會發生什麼。
更新:評論有助於澄清區別
crypto/rand.Reader.Read(b []byte) crypto/rand.Read(b []byte)
線程安全:
read
會panic嗎? rand.Reader
來自crypto/rand
必須對於並發存取是安全的,因為它被定義為「加密安全隨機數產生器的全局共享實例」。無法在套件之間同步其使用。 rand.Read
來自crypto/rand
是安全的,因為rand.Reader
是安全,而且它不會訪問任何其他共享狀態。 以上是Golang 加密/蘭德線程安全嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!