Golang ist eine Programmiersprache, die für ihre Effizienz und Parallelität bekannt ist. Allerdings standen die Verschlüsselung und Thread-Sicherheit von Golang schon immer im Fokus der Entwickler. In diesem Artikel teilt der PHP-Editor Banana einige Meinungen und Vorschläge zur Golang-Verschlüsselung und Golang-Thread-Sicherheit. Wir werden die Verschlüsselungsfunktionen von Golang untersuchen und erfahren, wie Thread-Sicherheit gewährleistet werden kann, um Entwicklern dabei zu helfen, Golang besser zu verstehen und anzuwenden. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel bietet Ihnen wertvolle Informationen und Anleitungen.
math/rand.rand gibt read
不是线程安全的(共享源时)。加密/兰特怎么样?源代码指出它使用 getrandom(2)
或 /dev/urandom
an, aber es ist nicht klar, was bei gleichzeitigen Anrufen passiert.
Update: Kommentar hilft, den Unterschied zu verdeutlichen
crypto/rand.Reader.Read(b []byte) crypto/rand.Read(b []byte)
Fadensicherheit:
read
in Panik geraten? rand.Reader
来自 crypto/rand
MUSS für den gleichzeitigen Zugriff sicher sein, da es als „globale gemeinsame Instanz eines kryptografisch sicheren Zufallszahlengenerators“ definiert ist. Es gibt keine Möglichkeit, die Verwendung zwischen Paketen zu synchronisieren. rand.Read
来自 crypto/rand
是安全的,因为 rand.Reader
ist sicher und greift nicht auf andere freigegebene Zustände zu. Das obige ist der detaillierte Inhalt vonIst der Golang-Krypto-/Rand-Thread sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!