69 votes

GUID de type YouTube

Est-il possible de générer un GUID court comme sur YouTube (N7Et6c9nL9w)?

Comment ceci peut être fait? Je veux l'utiliser dans une application Web.

74voto

bobbymcr Points 14916

Vous pouvez utiliser Base64:

 string base64Guid = Convert.ToBase64String(Guid.NewGuid().ToByteArray());
 

Cela génère une chaîne comme E1HKfn68Pkms5zsZsvKONw== . Puisqu'un GUID est toujours de 128 bits, vous pouvez omettre le == que vous savez être toujours présent à la fin et qui vous donnera une chaîne de 22 caractères. Ce n'est pas aussi court que YouTube.

20voto

astander Points 83138

11voto

eglasius Points 26221

9 caractères n'est pas un Guid. Étant donné que, vous pouvez l'utiliser, vous pouvez utiliser la représentation hexadécimale d'un int, ce qui vous donne un 8 chaîne de char.

Mise à jour 1: ne sais pas pourquoi, le ci-dessus a un downvote, mais pour quelqu'un de se demander:

Vous pouvez utiliser un id, vous pourriez déjà avoir. Vous pouvez aussi l'utiliser .GetHashCode contre les différents types simples, et il vous en avez un autre type int. Vous pouvez également xor différents domaines. Et si vous êtes dedans, vous pourriez même utiliser un nombre Aléatoire - hey, u bien au-dessus de 2.000.000.000+ valeurs possibles, si vous respectez les points positifs ;)

4voto

Scott Muc Points 2212

Techniquement, ce n'est pas un Guid. Youtube a un simple générateur de chaînes aléatoires que vous pouvez probablement concocter en quelques minutes en utilisant un tableau de caractères autorisés et un générateur de nombres aléatoires.

3voto

philipproplesch Points 1456

Ce n'est peut-être pas la meilleure solution, mais vous pouvez faire quelque chose comme ça:

 string shortUrl = System.Web.Security.Membership.GeneratePassword(11, 0);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X