Maison >développement back-end >Golang >Le thread Golang crypto/rand est-il sûr ?
Golang est un langage de programmation connu pour son efficacité et sa concurrence. Cependant, le cryptage et la sécurité des threads de Golang ont toujours été au centre des préoccupations des développeurs. Dans cet article, l'éditeur php Banana partagera quelques opinions et suggestions sur le cryptage Golang et la sécurité des threads Golang. Nous explorerons les fonctionnalités de chiffrement de Golang et comment garantir la sécurité des threads pour aider les développeurs à mieux comprendre et appliquer Golang. Que vous soyez débutant ou développeur expérimenté, cet article vous fournira des informations et des conseils précieux.
math/rand.rand indique read
不是线程安全的(共享源时)。加密/兰特怎么样?源代码指出它使用 getrandom(2)
或 /dev/urandom
, mais on ne sait pas clairement ce qui se passe avec les appels simultanés.
Mise à jour : le commentaire aide à clarifier la différence
crypto/rand.Reader.Read(b []byte) crypto/rand.Read(b []byte)
Sécurité du fil :
read
vont-ils paniquer ? rand.Reader
来自 crypto/rand
DOIT être sécurisé pour un accès simultané car il est défini comme une « instance mondiale partagée d'un générateur de nombres aléatoires cryptographiquement sécurisé ». Il n'existe aucun moyen de synchroniser son utilisation entre les packages. rand.Read
来自 crypto/rand
是安全的,因为 rand.Reader
est sûr et n'accède à aucun autre état partagé. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!