一個過程中,我知道,你可以用下面的方式給定的用戶名/密碼運行進程:開始使用用戶名和密碼
var processInfo = new ProcessStartInfo
{
WorkingDirectory = workingDirectory,
FileName = "a name",
UserName = loggedUserName,
Password = "password",
Domain = userNameDomain,
UseShellExecute = false,
};
Process.Start(processInfo);
我現在面臨的問題是,我不希望將實際密碼寫入代碼的一部分,並且如果我將Password屬性留空,則該過程將無法啓動...如何在不將密碼暴露爲代碼中的硬編碼字符串的情況下安全地啓動該過程?
的ProcessStartInfo的密碼屬性是SecureString的。您不能簡單地以這種方式編寫它 – Steve
您可以將其存儲在文件/數據庫中,該文件/數據庫將在程序啓動時讀取。您也可以通過依賴文件的簡單方法來加密它(http://stackoverflow.com/questions/740812/whats-the-easiest-way-to-encrypt-a-file-in-c)或依靠關於數據庫的內置函數(http://dev.mysql.com/doc/refman/5.0/es/set-password.html)。 – varocarbas