Maison >développement back-end >Golang >Comment puis-je générer des entiers et des jetons aléatoires sécurisés à l'aide du package « crypto/rand » dans Go ?

Comment puis-je générer des entiers et des jetons aléatoires sécurisés à l'aide du package « crypto/rand » dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-11 16:44:03199parcourir

How can I generate secure random integers and tokens using the

Comment générer des entiers aléatoires sécurisés à l'aide du package "crypto/rand"

Ce code génère un entier aléatoire compris entre 0 et 27 en utilisant le Paquet "crypto/rand". La fonction nécessite une valeur maximale, nous créons donc un big.Int représentant 27.

nBig, err := rand.Int(rand.Reader, big.NewInt(27))

Pourquoi renvoyer un pointeur vers un Big.Int ?

L'Int La fonction renvoie un pointeur vers un big.Int car big.Int est un type entier de précision arbitraire. Il peut représenter des entiers de n'importe quelle taille, tandis que les entiers Go intégrés ont une plage limitée.

Générer des jetons sécurisés

Pour générer un jeton sécurisé, les jetons doivent utiliser un forte source d’aléatoire et être codés à l’aide d’un format de codage approprié. L'exemple de code utilise le codage base32 pour représenter les octets aléatoires sous une forme compacte et lisible par l'homme.

token := getToken(10)

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!

Déclaration:
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