2015-04-05 86 views
0

有沒有一種方法可以在不使用數據庫的情況下以安全的方式在C#中存儲密碼?我希望應用程序不必依靠數據庫,但我不想以純文本形式存儲密碼。例如,我目前做類似:存儲密碼的最佳方式(無數據庫或純文本)?

public static string username = "george"; 
public static string password = "password"; 

我想要最簡單和最安全的方式來存儲它,否則。該應用程序不需要任何其他目的的數據庫,所以我只是試圖避免引入一個數據庫來存儲一個單一的信息。

+0

您可以將加密的名稱/密碼存儲在註冊表中。 – 2015-04-05 18:56:41

+0

可能重複的[在源代碼中保護密碼?](http://stackoverflow.com/questions/4155187/securing-a-password-in-source-code) – 2015-04-05 18:57:43

+2

您是否需要自己存儲該密碼或者驗證用戶密碼的方法足夠好了嗎?後面的情況通常更容易實現,並且更安全 – 2015-04-05 18:58:46

回答

0

請參閱SecureString,它允許您訪問各種字符串操作,同時加密內存中的數據以防止本地內存攻擊。

如果你有興趣在密碼的持續存在,這是常見的加密和然後保存密碼,然後在本地執行時,嘗試登錄相同的加密,比較,而不是原始文本加密的數據。這樣,不正確的密碼被拒絕,但正確的密碼將加密到存儲的值。

至於存儲數據,請考慮將其存儲爲setting

請注意,密碼學和「如何安全地存儲密碼」是一個巨大的課題,你應該研究。

相關問題