我試圖編寫一個程序,用它可以登錄到遠程網站。對於一些擁有多個帳戶的人,我儘量使他們更容易,並將帳戶數據存儲在IsolatedStorage
中。在我的密碼的當前狀態下,密碼只輸入到TextBox
中,一旦存儲密碼轉換爲MD5哈希值。如何正確保存密碼
現在我想重構這適當的代碼,但我卡住了。
A PasswordBox
通過PasswordBox.SecureString
和PasswordBox.Password
公開其數據。
所以我點擊保存按鈕時,我想
public void OnClick(...)
{
var password = passwordBox.Password;
// store it somehow (e.g. custom MD5 encryption)
var savePassword = passwordBox.SecureString;
// store this string somehow, but how?
}
這裏只要我把明文口令從我PasswordBox
爲var password
執行的東西,我的問題
- ,是有什麼可見在記憶中?一些黑客能夠通過反射/調試使這個普通的值可見嗎?哪些代碼使這些字符串實際可見?我需要注意什麼?
- 如何處理
PasswordBox
的SecureString
?
我有點不知所措,我不知道如何正確處理應用程序中的密碼的本質。
我不是懇求整個解決方案和運行代碼。如果有人能讓我開始,我會很高興。而且,我不想要企業解決方案。我只是尋找一個,這是易於實施,並儘可能節省我投入的努力。
如果攻擊者可以運行調試器或對私有數據*使用反射,那麼他們已經擁有系統*。 – 2013-03-03 17:45:31