Générer chaîne aléatoire de 4 à 8 caractères en PHP

J'ai besoin de générer une chaîne de caractères à l'aide de PHP, il besoin être unique et besoin être de 4 à 8 caractères (la valeur d'une variable).

J'ai pensé que je peut utiliser hachage crc32, mais je ne peux pas décider comment le nombre de caractères, mais bien sûr, il sera unique. En revanche, seulement de créer un "générateur de mot de passe" va générer dupliqué chaîne et de la vérification de la valeur dans la table pour chaque chaîne va prendre un certain temps.

Comment puis-je le faire?

Merci!


Peut-être que je peux l'utiliser :

  function unique_id(){
  $better_token = md5(uniqid(rand(), true));
  $unique_code = substr($better_token, 16);
  $uniqueid = $unique_code;
  return $uniqueid;
  }

  $id = unique_id();

Modification :

  function unique_id($l = 8){
  $better_token = md5(uniqid(rand(), true));
      $rem = strlen($better_token)-$l;
  $unique_code = substr($better_token, 0, -$rem);
  $uniqueid = $unique_code;
  return $uniqueid;
  }

  echo unique_id(4);

Pensez-vous que je vais obtenir de l'unique chaîne à chaque fois pour une goood temps?

Les personnages de ce jeu de caractères?
"la vérification de la valeur dans la table pour chaque chaîne, ce qui prendra un certain temps" - pas si vous définissez un index unique sur la colonne. Ensuite vous avez juste à vérifier si l'insertion a travaillé, et si pas de vous régénérer la chaîne et essayez de nouveau. Ne dis pas que c'est une bonne idée. Dépend.
Ouais, mais si j'ai 1 000 000 d'entrées, de générer une chaîne de caractères jusqu'à ce qu'un unique est trouvé :S... LOL mais pour les petites quantités, je me souviendrai de cette 😉 Merci beaucoup!

OriginalL'auteur Jeremy Dicaire | 2010-10-17