Boa tarde,
Existem imensas formas de fazer isso, de forma mais complexa ou mais simples, evitando colisões e padrões ou não evitando. Partindo do principio que queres algo simples e para não estar a colocar aqui umas quantas paginas de código e 3 classes, cá fica um exemplo simples
public static char GetLetter()
{
string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Random rand = new Random();
int num = rand.Next(0, chars.Length - 1);
return chars[num];
}
public static char GetDigit()
{
string chars = "0123456789";
Random rand = new Random();
int num = rand.Next(0, chars.Length - 1);
return chars[num];
}
private string geraChave()
{
string key = "" + GetLetter() + GetLetter() + GetDigit() + "-" + GetLetter() + GetDigit() + GetLetter() +
"-"
+ GetDigit() + GetLetter() + GetLetter() + "";
return key;
}
Como é obvio este exemplo não é nada bom, pois o padrão é estupidamente repetitivo e demasiado fácil de detectar, mas fica apenas para o efeito de exemplo.
Não será difícil alterar e evitar a repetição de caracteres.
Cordiais cumprimentos,
Apocsantos
↧