Au début d'un processus avec un nom d'utilisateur et mot de passe

Je sais que vous pouvez exécuter un processus avec un nom d'utilisateur/mot de passe de la manière suivante:

var processInfo = new ProcessStartInfo
  {
      WorkingDirectory = workingDirectory,
      FileName = "a name",
      UserName = loggedUserName, 
      Password = "password",
      Domain = userNameDomain,
      UseShellExecute = false,
  };
  Process.Start(processInfo);

Le problème que je me pose, c'est que je ne veux pas écrire le mot de passe réel comme une partie du code et le processus ne démarre pas si je laisse l'attribut de Mot de passe vide... Comment puis-je démarrer en toute sécurité le processus, sans exposer le mot de passe comme une chaîne codée en dur dans le code?

  • Propriété de mot de passe de ProcessStartInfo est un SecureString. Vous ne pouvez pas tout simplement l'écrire de cette façon
  • Vous pouvez le stocker dans un fichier/base de données qui sera lue lorsque le programme est démarré. Vous pouvez également chiffrer en s'appuyant sur une méthodologie simple pour le fichier (stackoverflow.com/questions/740812/...), ou en s'appuyant sur une fonction de la DB (dev.mysql.com/doc/refman/5.0/es/set-password.html).
InformationsquelleAutor Yonatan Nir | 2013-07-28