Maison > développement back-end > Golang > le corps du texte

Le thread Golang crypto/rand est-il sûr ?

王林
Libérer: 2024-02-09 12:45:08
avant
964 Les gens l'ont consulté

Golang 加密/兰德线程安全吗?

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.

La source du contenu des questions

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)
Copier après la connexion

Sécurité du fil :

  1. Les appels simultanésread vont-ils paniquer ?
  2. La séquence aléatoire sera-t-elle maintenue lors d'appels simultanés ? Ou le contenu dupliqué peut-il être diffusé à des appelants simultanés ?

Solution

  1. 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.
  2. 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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!