Maison >interface Web >js tutoriel >Comment puis-je générer des identifiants globalement uniques (GUID/UUID) en JavaScript ?

Comment puis-je générer des identifiants globalement uniques (GUID/UUID) en JavaScript ?

DDD
DDDoriginal
2024-12-20 16:27:20413parcourir

How Can I Generate Globally Unique Identifiers (GUIDs/UUIDs) in JavaScript?

Création d'identifiants globalement uniques en JavaScript

Dans le domaine de JavaScript, la tâche de générer des identifiants globalement uniques (GUID) ou des identifiants universellement uniques (UUID) se pose souvent. Ces identifiants servent de représentations uniques pour les entités ou les ressources au sein d'un système, garantissant leur caractère distinctif.

Approche 1 : API de navigateur natif pour les environnements sécurisés

Si votre application fonctionne dans contextes sécurisés (localhost, HTTPS), la méthode crypto.randomUUID() offre une option fiable. Cette API est largement prise en charge dans les navigateurs modernes et les environnements d'exécution JS. Il est cependant essentiel de noter que sa disponibilité est limitée aux contextes sécurisés.

Approche 2 : Module uuid

Pour les scénarios où les contextes sécurisés ne sont pas disponibles ou si compatibilité avec les plates-formes existantes est requis, le module uuid présente une solution robuste. Ce module a subi des tests approfondis et prend en charge la génération d'UUID de différentes versions.

Approche 3 : Génération personnalisée

Si aucune des approches ci-dessus ne répond à vos besoins, envisagez cette méthode personnalisée :

function uuidv4() {
  return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
    (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)
  );
}

console.log(uuidv4());

Cette méthode s'appuie sur la fonction crypto.getRandomValues ​​pour introduire du caractère aléatoire dans l'UUID. Il parcourt un jeu de caractères prédéfini et le manipule en fonction de valeurs cryptographiques.

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
Article précédent:Mon parcours React : jour 12Article suivant:Mon parcours React : jour 12