Une ligne de PHP chaîne aléatoire générateur?

Je suis à la recherche de la voie la plus courte pour générer au hasard/unique des chaînes et à qui j'ai été en utilisant les deux suivantes:

$cClass = sha1(time());

ou

$cClass = md5(time());

Cependant, j'ai besoin de la chaîne de commencer par un caractère de l'alphabet, j'ai été à la recherche à l'encodage base64, mais qui ajoute == à la fin et puis j'aurais besoin de me débarrasser de cela.

Quelle serait la meilleure façon d'atteindre cet objectif avec une seule ligne de code?


Mise à jour:

PRNDL est venu avec une bonne suggestions qui j'ai fini de l'utiliser, mais un peu modifié

echo substr(str_shuffle(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ),0, 1) . substr(str_shuffle(aBcEeFgHiJkLmNoPqRstUvWxYz0123456789),0, 31)

Donnerait 32 caractères imitant le hachage md5, mais il serait toujours le produit le premier caractère d'une lettre de l'alphabet, comme;

Une ligne de PHP chaîne aléatoire générateur?

Cependant, Uours vraiment améliorées, et sa réponse;

substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 1).substr(md5(time()),1);

est plus court et plus doux

La suggestion de l'autre par Anonymous2011 était très impressionnant, mais le premier caractère pour quelque raison serait toujours soit M, N, Y, Z, afin de na pas répondre à mes fins, mais qui aurait été la réponse choisie, d'ailleurs personne ne sait pourquoi ce serait toujours le rendement de ces lettres?

Voici l'aperçu de ma version modifiée,

echo  rtrim(base64_encode(md5(microtime())),"=");

Une ligne de PHP chaîne aléatoire générateur?

  • Pourquoi a-t-il besoin d'être réalisé au sein d'une seule ligne de code?
  • La question en ce qui concerne ce n'est pas la sortie du premier caractère dans l'alphabet... pourquoi fermer la mine?
  • Si vous les gars vous vous demandez pourquoi la première lettre, eh bien, je suis en train de faire quelques tests avec des éléments div,... classes ou id de ne pas accepter les numéros sur le premier caractère et ils ne sont pas accepter le caractère spécial de n'importe où
  • Préfixe ceux avec un trait de soulignement _0000 œuvres.
  • préfixe quoi? pouvez-vous donner un exemple svp
  • "_0000".sha1(time()); - préfixe par simple concaténation de chaîne
  • merci Kai, j'ai mis à jour ma question les gars 🙂

InformationsquelleAutor David Garcia | 2013-09-26