我有一個winform
應用程序,它具有用戶登錄表單。我存儲我的用戶登錄在數據庫中的信息有3個參數:用戶名,哈希密碼,鹽:記得我複選框
salt = random string that will be stored in database for every user
hashed password = MD5(MD5(inputPassword) + MD5(salt))
我想有複選框,在我的登錄表單命名爲Remember me
,當用戶輸入正確的信息,並檢查它,用戶下次打開程序時,會自動輸入用戶信息,用戶只需點擊login
按鈕即可。
我無法直接保存輸入的密碼,下次使用它填寫密碼textBox
是因爲我知道一些可以讀取textBox
這樣的軟件,它不安全。
問:
我怎麼能做到這一點,但不保存用戶密碼?
如果我需要保存一些信息,它們是如何加密的?
是否有必要更改我的安全策略?
請注意,這是爲客戶端創建的客戶端/服務器應用程序和登錄表單。
儘管你試圖通過MD5(MD5(inputPassword)+ MD5(salt))來保護用戶密碼,你應該改用[適當的密碼派生函數](http:// msdn。 microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes%28v=vs.110%29.aspx)。現代系統可以使用GPU和密碼方法輕鬆地每秒鐘嘗試超過1,000,000,000個密碼。對於'Rfc2898DeriveBytes',使用適當大的'ItterationCount',您可以輕鬆地將該數字降低到每秒100個密碼。 –