我有一个登录表单,其中包含用户名和密码作为用户的输入,我想从文本文件中验证这些登录凭据。我该怎么做?我知道如何写数据和读取数据..但是如何只读取特定数据。或检查是否存在用户名密码组合。
答案 0 :(得分:1)
跳过将密码存储在文本文件中的错误做法(特别是如果它没有加密),您需要提供某种文件格式。
一个非常基本的文件可能就像你读过的ini文件:
[users]
username1=password1
username2=password2
您的算法将查找[users]
标题,然后读取每一行,在等号上分割线并比较信息并继续阅读,直到找到匹配项,文件末尾或可能是另一个部分。
我不确定您以前是否曾经使用过用户身份验证,但是如果将密码以明文形式存储被认为是不好的做法,因为如果它们受到危害则会出现严重的安全问题。您通常希望使用单向散列(如SHA-1或SHA-256)来散列用户密码(可能使用已知的盐)并将其发送到您的应用程序并存储它。这样,即使您以某种方式受到损害,您也永远不会知道实际的密码。
答案 1 :(得分:1)
你有什么理由要使用纯文本文件吗?正如约书亚所说,这是一种存储安全信息的糟糕方式。
在.NET中,标准方法是使用应用程序配置文件来存储用户名/密码(例如app.config或web.config),并使用Data Protectction API(DPAPI)或System.Security加密密码。 Cryptography.ProtectedData类。
Jon Galloway提供decent tutorial如何做到这一点。