Pas la peine de te casser la tête à convertir la date et l'heure en
autre chose, il te suffit d'utiliser le générateur de nombres
aléatoires (classe Random). Le constructeur par défaut de celle classe
initialise le générateur de nombres aléatoires en fonction de la date
et l'heure actuels. Attention quand même: n'instantie qu'un seul objet
Random pour toute la durée d'un processus.
Il te suffit alors de piocher 5 nombres au hasard à partir de cette classe via la méthode Next.
Une bonne idée est de créer un tableau contenant tous les caractères
que tu veux utiliser pour la génération du mot de passe (par exemple,
on évite souvent le zéro et la lettre o qui se ressemblent) et de
choisir un nombre aléatoire compris entre 0 et le nombre de caractères
du tableau (la borne supérieure étant exclue, le nombre maximum
retourné par Next sera en fait le nombre de caractères du tableau moins
un). Tu récupères alors le caractère aléatoire via
tableau[nombre_aleatoire]
et tu fais ça pour les 5 caractères. Et voilà c'est dans la poche! Concrètement ça donne ça:
private static char[] randomChars = new char[] { 'A', 'B', 'C', ... , '9', '0' };
private static readonly Random rand = new Random();
private static string getRandomPassword()
{
char[] password = new char[5];
for(int i=0; i<5; ++i)
password[i] = randomChars[rand.Next(0, randomChars.Length)];
return new string(password);
}