Meilleure façon de générer des identifiants uniques côté client (Javascript)
J'ai besoin de générer des identifiants uniques dans le navigateur. Actuellement, je suis en utilisant ceci:
Math.floor(Math.random() * 10000000000000001)
Je voudrais utiliser le temps UNIX courant ((new Date).getTime()
), mais je suis inquiet que si les deux clients de générer des papiers d'identité à la exacte même temps, il ne sera pas unique.
Puis-je utiliser le temps UNIX courant (j'aimerais parce que de cette façon les id de stocker plus d'informations)? Si non, quelle est la meilleure façon de le faire (peut-être temps UNIX + 2 chiffres aléatoires?)
Double Possible de Créer un GUID / UUID en JavaScript?
OriginalL'auteur Tom Lehman | 2009-08-24
Vous devez vous connecter pour publier un commentaire.
vous pouvez créer un GUID en utilisant les liens suivants:
http://softwareas.com/guid0-a-javascript-guid-generator
Créer un GUID /UUID en JavaScript?
Cela permettra de maximiser vos chances de "unicité".
Sinon, si c'est une page sécurisée, vous pouvez concaténer la date et l'heure avec le nom d'utilisateur pour éviter simultanément plusieurs valeurs générées.
+1 pour le "concaténer la date et l'heure avec le nom d'utilisateur pour éviter simultanément plusieurs valeurs générées.".
OriginalL'auteur Russell
https://github.com/broofa/node-uuid offre conforme à la RFC Uuid sur la base soit de type timestamp ou aléatoire #'. Seul fichier avec des pas de dépendances, prend en charge ou d'horodatage aléatoire #Uuid, utilise des Api natives pour les crypto-la qualité de nombres aléatoires si disponible, ainsi que d'autres goodies.
OriginalL'auteur broofa
Moderne navigateur vous pouvez utiliser crypto:
Référence: developer.mozilla.org/en-US/docs/Web/API/RandomSource/...
OriginalL'auteur Jules Goullee
toutes mes excuses @lolol
pourquoi est -
c
à l'extérieur de la déclaration des variables danscuniq()
? Aussi, pourriez-vous expliquer la logique de cet algorithme?elle attribue une incrémentation de la sous composante "c". C'est un local d'affectation pour augmentation de la probabilité de mondial de l'unicité de la propagation de ces valeurs modulo 10000 sur un millième de seconde / date de préfixe. YMMV
OriginalL'auteur Peterson Domingos
Voici mon code javascript pour générer un guid. Il n'rapide hex de cartographie et très efficace:
OriginalL'auteur Omer Cansizoglu