Maison >interface Web >js tutoriel >Comment puis-je générer des identifiants uniques au monde (GUID) en JavaScript de manière fiable sur différentes plates-formes ?

Comment puis-je générer des identifiants uniques au monde (GUID) en JavaScript de manière fiable sur différentes plates-formes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-24 18:22:16267parcourir

How Can I Generate Globally Unique Identifiers (GUIDs) in JavaScript Reliably Across Different Platforms?

Générer des identifiants globalement uniques (GUID) en JavaScript

La création d'identifiants globalement uniques (GUID) en JavaScript présente des défis liés à la disponibilité de la plateforme , le caractère aléatoire et la compatibilité ASCII. Pour répondre à ces préoccupations, plusieurs approches sont disponibles :

Navigateurs modernes et contextes sécurisés :

Si l'application s'exécute sur un navigateur moderne avec une connexion sécurisée (HTTPS ou localhost), la méthode crypto.randomUUID() est une option fiable et efficace pour générer des UUID conformes à la RFC4122. Cette méthode garantit le caractère aléatoire et satisfait à la plage de caractères ASCII requise.

Plateformes héritées et contextes non sécurisés :

Pour les plates-formes sans crypto.randomUUID() ou dans des contextes non sécurisés. contextes sécurisés, le package uuid est une alternative bien prise en charge qui peut générer des UUID répondant à divers spécifications.

Méthode de repli :

Si aucune des options ci-dessus n'est disponible, une méthode de repli peut être utilisé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)
  );
}

Cette méthode utilise crypto.getRandomValues() pour générer des nombres aléatoires et garantit le respect de la plage de caractères ASCII.

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