Я работаю над приложением .NET Windows, которое будет использовать Process.Start для запуска другого разработанного внутри себя приложения .NET, работающего на том же ПК. Мне нужно передать информацию о соединении с базой данных, включая идентификатор пользователя и пароль, целевому приложению. Я пытаюсь определить, нужно ли мне шифровать информацию перед отправкой.
Если компьютер конечного пользователя не скомпрометирован, будет ли где-либо раскрыта информация о соединении, если я передам ее в незашифрованном виде в аргументах?
Будет ли что-то вроде этого в порядке ...
string myExecutable = "myApp.exe";
string server = "myServer";
string database = "top_secret_data";
string userID = "myUser";
string password = "ABC123";
string dbInfo = string.Format("server={0} database={1} userID={2} password={3}", server, database, userID, password);
ProcessStartInfo startInfo = new ProcessStartInfo(myExecutable, dbInfo);
Process.Start(startInfo);
Или я должен использовать что-то вроде этого ...
var crypto = new MySymmetricCryptoLib.Crypto();
string myExecutable = "myApp.exe";
string server = crypto.Encrypt("myServer");
string database = crypto.Encrypt("top_secret_data");
string userID = crypto.Encrypt("myUser");
string password = crypto.Encrypt("ABC123");
string dbInfo = string.Format("server={0} database={1} userID={2} password={3}", server, database, userID, password);
ProcessStartInfo startInfo = new ProcessStartInfo(myExecutable, dbInfo);
Process.Start(startInfo);