2010-04-15 59 views
2

我有一個用戶名和密碼作爲用戶輸入的登錄表單,我想從文本文件驗證這些登錄憑據。我該怎麼做?我知道如何寫數據和讀數據..但是如何僅讀取特定數據。或者檢查用戶名密碼組合是否存在。如何從文本文件格式驗證用戶名和密碼

回答

1

是否有任何理由需要使用純文本文件?正如約書亞所說,這是存儲安全信息的不好方法。

在.NET中,標準方法是使用應用程序配置文件來存儲用戶名/密碼(例如app.config或web.config)並使用Data Protectction API(DPAPI)或System.Security加密密碼.Cryptography.ProtectedData類。

Jon Galloway提供了關於如何做到這一點的decent tutorial

+0

唯一的原因是我對此很新.... 是有任何我可以學習DPI的地方,就像你和Joshua提到的那樣。 – Ani 2010-04-15 01:18:32

+0

我會試着看看msdn庫來弄清楚。如何使用app.config – Ani 2010-04-15 01:20:48

+0

@Ani,查看鏈接頁面。 – Ash 2010-04-15 01:21:25

1

跳過一個文本文件中存儲的密碼(尤其是如果它是不加密的),你將需要拿出某種文件格式的壞習慣。

一個非常基本的文件也能像你讀一個ini文件:

[users] 
username1=password1 
username2=password2 

你的算法將查找[users]頭,然後讀取每一行,劈在了等號線和比較信息並繼續閱讀,直到找到匹配項,文件的結尾或其他部分。

我不知道如果你曾經與用戶身份驗證的工作之前,但它被認爲是不好的做法,如果他們被泄露到存儲密碼以純文本格式,因爲嚴重的安全問題。您通常希望使用單向散列(如SHA-1或SHA-256)對用戶密碼進行散列(可能使用已知的salt),然後將其發送給您的應用程序並進行存儲。這樣,即使您以某種方式受到攻擊,您也永遠不會知道實際的密碼。

+0

其實我想提出一個web瀏覽器...,每個用戶都有使用瀏覽器之前登錄.. ,所以我認爲存儲在文本文件中的信息...... 我很新的節目.. 所以我應該使用if條件或東西...檢查該用戶名密碼組合....在該標題下。 您的幫助表示讚賞 – Ani 2010-04-15 01:12:53