【问题标题】:C# - Password Database [closed]C# - 密码数据库 [关闭]
【发布时间】:2011-02-25 01:41:25
【问题描述】:

所以我想制作一个程序,让您可以存储和搜索注册的在线网站的用户名/密码。

我知道 C# 有一些数据库选项,但我不太了解它。我还听说它可以读/写excel文件。

您认为什么最适合存储数据?

数据库是否需要在线存储在服务器上,或者它们可以驻留在程序中 文件?

【问题讨论】:

  • 你的问题太笼统了,没有什么可以回答的具体内容。
  • 如果您可以使用 Excel -> 无需任何编程即可解决问题。没有?
  • 根据应用程序的规模,您有很多选择:MSSQL、MySQL、PostgreSQL、Oracle DB,...;非关系型数据库:MemcacheDB、Cassandra、Amazon SimpleDB、...;对于应该可分发的相对较小规模的应用程序,我会使用 sqlite。
  • @Mitch Wheat 我需要某种方式来存储每次打开应用程序时都必须访问的数据。它将存储 pword 对应的站点/用户名/密码。
  • 您知道有几十个现有的(通常是免费的)“密码管理器”应用程序可以完全满足您的要求吗? (参见例如keepass.info - 它也有很多非 Windows 平台的端口)

标签: c# sql database passwords


【解决方案1】:

是的,C# 可以与 Excel 一起使用,但我不建议您这样做。首先它不是很有效,其次你会受到驱动程序的约束。我推荐出色的轻量级数据库Sqlite,这是.net 的课程http://sqlite.phxsoftware.com/

【讨论】:

    【解决方案2】:

    考虑到您要存储的数据类型,我怀疑您会希望在数据存储解决方案中内置高级别的安全性。我不确定使用未加密的 Excel 或 XML 文件是否会提供此功能。如果你按照 Andrey 的建议使用 SQLite,你可以考虑encrypting the database

    【讨论】:

    • 你也可以加密一个 XML 文件。new XmlWriter(new CryptoStream(File.OpenWrite(filename), cipher, CipherStreamMode.Write))..
    【解决方案3】:

    我知道您要求存储它们,但不是使用散列算法存储它们,而是将主密码与一些盐(即网站名称)结合起来,并为每个站点生成一个唯一密码。这样您就不需要存储甚至知道实际密码,只需要主密码和网站名称。

    【讨论】:

      【解决方案4】:

      既然您在谈论存储密码,我想说比决定如何存储数据更重要的是决定您需要它的安全性。
      这篇文章描述了存储密码数据库的 3 种不同方法,因此可能是一个很好的起点:

      http://www.codeproject.com/KB/recipes/StoringPasswords.aspx

      【讨论】:

        猜你喜欢
        • 2014-07-17
        • 2014-02-01
        • 2019-04-01
        • 1970-01-01
        • 2019-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-21
        相关资源
        最近更新 更多