2011-01-06 129 views
1

我正在爲個人(目前至少)使用備份程序。在VB.Net中存儲Windows用戶名和密碼

對於某些目錄(網絡目錄/受保護的目錄),需要憑據來訪問它們。

我可以在程序中設置不同的作業以在特定時間運行。

這些作業存儲在一個XML文件中。

我還想存儲作業所需的用戶名和密碼。

什麼和哪裏將是最好的方式來存儲這些?

更改目錄上的權限不是一個選項。

在此先感謝!

回答

2

您不應該在Windows中存儲用戶的登錄密碼以便能夠訪問本地目錄。相反,您的備份程序應作爲啓用了SeBackupPrivilege的用戶運行(即從作爲本地系統運行的服務運行備份)。這意味着您不需要更改權限。

您可能還需要確保首先進行卷影複製 - 不要直接從磁盤進行復制,因爲這可能會導致備份不一致。

此外,您需要特別注意加密文件,並需要使用ReadEncryptedFileRaw。

1

您可以執行備份程序作爲計劃任務,以特定用戶身份運行。

至於存儲密碼,您可以使用IsolatedStorage存儲它們,並使用雙向加密,以便讓某人在設法找到該文件時難以解密該文件。

檢查此SO question實施雙向加密。

+0

作爲特定用戶運行程序不是一個選項。導致不同的目錄將需要不同的憑據。我認爲雙向加密總是與密鑰一起使用?如果我想在將來發布應用程序,該怎麼辦?在這種情況下,我不希望密鑰是相同的(想想逆向工程)。如何解決這個問題?質疑問題。 :P請告訴我,如果我走了。 :) 謝謝! – PeeHaa 2011-01-06 20:05:05

+1

你可以基於幾個因素,如機器名稱,域名,安裝軟件的人的用戶名等在您的代碼中生成密鑰。另請參閱此SO問題http://stackoverflow.com/questions/99880/generatinga-a- unique-machine-id – 2011-01-06 20:16:20

相關問題