Génération de clé unique

Je cherche un moyen, plus précisément en PHP que je vais être garanti pour toujours obtenir une clé unique.

J'ai effectué les opérations suivantes:

strtolower(substr(crypt(time()), 0, 7));

Mais je n'ai trouvé qu'une fois dans un certain temps, je me retrouve avec un double de la clé (rarement, mais assez souvent).

J'ai aussi pensé à faire:

strtolower(substr(crypt(uniqid(rand(), true)), 0, 7));

Mais selon le site de PHP, uniqid() pourrait, si uniqid() est appelé deux fois dans la même microseconde, il pourrait générer la même clé. Je pense que l'ajout de rand() que c'est rare, mais toujours possible.

Après les lignes mentionnées ci-dessus, je suis également supprimer des caractères tels que L et O il est donc moins déroutant pour l'utilisateur. Ce peut-être en partie la cause pour les doublons, mais encore nécessaire.

Une option, j'ai une pensée de la création d'un site web qui va générer la clé, de les stocker dans une base de données, en s'assurant qu'il est complètement unique.

Toutes les autres pensées? Existe-il des sites qui le font déjà, en quelque sorte, de l'API ou juste retour de la clé. J'ai trouvé http://userident.com mais je ne sais pas si les clés seront complètement unique.

Cela doit s'exécuter en arrière-plan, sans intervention de l'utilisateur.

source d'informationauteur Darryl Hein