Maison  >  Article  >  développement back-end  >  Comment générer des chaînes aléatoires uniques de longueurs spécifiques en Go ?

Comment générer des chaînes aléatoires uniques de longueurs spécifiques en Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 13:15:02418parcourir

How to Generate Unique Random Strings of Specific Lengths in Go?

Génération de chaînes aléatoires uniques d'une longueur spécifique dans Go

Dans Go, générer des chaînes aléatoires uniques dans une plage de longueur spécifiée présente une tâche simple. Cependant, comprendre le niveau d'unicité souhaité est crucial.

UUID universellement uniques

Si l'unicité globale est une exigence, les UUID (Universally Unique Identifiers) offrent une solution robuste. Les UUID comprennent une valeur de 128 bits, offrant un vaste pool de combinaisons potentielles. Pour générer un UUID dans Go, envisagez l'approche suivante :

<code class="go">import (
    "fmt"

    "github.com/google/uuid"
)

func main() {
    u := uuid.New()
    fmt.Println(u.String())
}</code>

Chaînes pseudo-aléatoires

Pour une option moins universellement unique, le package crypto/rand de Go fournit un moyen sécurisé de générer des octets pseudo-aléatoires. Ces octets peuvent être convertis en chaîne hexadécimale, ce qui donne une chaîne pseudo-aléatoire.

<code class="go">package main

import (
    "crypto/rand"
    "fmt"
)

func main() {
    n := 10
    b := make([]byte, n)
    if _, err := rand.Read(b); err != nil {
        panic(err)
    }
    s := fmt.Sprintf("%X", b)
    fmt.Println(s)
}</code>

Autres considérations

  • Affichage des UUID : Les UUID sont des valeurs de 128 bits généralement affichées au format hexadécimal, ce qui donne une chaîne de 32 caractères. Pour une représentation plus compacte, envisagez d'utiliser un codage base64 ou sécurisé pour les URL.
  • Prise en charge d'Unicode : Les chaînes Go sont codées en UTF-8, permettant l'inclusion de caractères Unicode. Cela ouvre la possibilité d'utiliser le jeu de caractères étendu d'Unicode pour augmenter le pool de chaînes aléatoires potentielles.

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