【问题标题】:how to validate usename and password from a text file form如何从文本文件表单验证用户名和密码
【发布时间】:2010-04-15 00:55:47
【问题描述】:

我有一个登录表单,其中包含用户名和密码作为用户的输入,我想从文本文件中验证这些登录凭据。我该怎么做?我知道如何写入数据和读取数据..但是如何只读取特定数据.或者检查用户名密码组合是否存在。

【问题讨论】:

    标签: c# validation text-files


    【解决方案1】:

    你有什么理由必须使用纯文本文件吗?正如 Joshua 所说,这是一种存储安全信息的糟糕方式。

    在 .NET 中,标准方法是使用应用程序配置文件来存储用户名/密码(例如 app.config 或 web.config)并使用 Data Protectction API (DPAPI) 或 System.Security 对密码进行加密。 Cryptography.ProtectedData 类。

    Jon Galloway 提供了一个decent tutorial 说明如何执行此操作。

    【讨论】:

    • 唯一的原因是我对此很陌生......有没有什么资源可以让我像你和Joshua提到的那样学习DPI......
    • 我将尝试查看 msdn 库以找出答案。如何使用app.config
    【解决方案2】:

    跳过将密码存储在文本文件中的不良做法(尤其是在未加密的情况下),您需要想出某种文件格式。

    一个非常基本的文件可能就像你读取的一个 ini 文件:

    [users]
    username1=password1
    username2=password2
    

    您的算法将查找[users] 标头,然后读取每一行,在等号处拆分行并比较信息并继续读取,直到找到匹配项、文件末尾或可能的另一个部分。

    我不确定您之前是否曾使用过用户身份验证,但将密码以纯文本形式存储被认为是一种不好的做法,因为如果密码被泄露会引发严重的安全问题。您通常希望使用单向散列(如 SHA-1 或 SHA-256)来散列用户密码(可能使用已知的盐)并将其发送到您的应用程序并存储它。这样,即使您以某种方式受到威胁,您也永远不会知道实际密码。

    【讨论】:

    • 实际上我正在制作一个网络浏览器......每个用户在使用浏览器之前都必须登录......所以我想将信息存储在一个文本文件中......我对编程很陌生..所以我应该使用 if 条件或其他东西...检查用户名密码组合...在该标题下..您的帮助表示赞赏
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 2021-12-22
    相关资源
    最近更新 更多