我正在制作使用数据库(mysql)的桌面应用程序(让我们称之为app)。 更多应用程序的用户共享一个数据库用户。 示例:John和Mike app用户以“dbuser”等方式连接到DB。
问题是:如何有效保存数据库用户的密码?(应用用户的密码存储在数据库中)。
我发现可能的解决方案: 1.在代码中 - 这实际上非常愚蠢:D 2.在文本INI文件中 - 易于阅读! 3.在extern文件中加密 - 很好,但需要访问app。
答案 0 :(得分:1)
您可以以加密格式将其存储在INI文件中。这是恕我直言的最佳方式。我以加密格式将连接字符串存储在.NET应用程序的App.config中。
编辑:
要编辑连接字符串,我在App.Config文件的AppSettings中使用另一个配置值CSEncryption =“Y | N | R”
如果是Y,则连接字符串被加密,解密并使用它。
如果是N,连接字符串未加密,请直接使用。
如果是R,则连接字符串未加密,加密并更新连接字符串并在App.Config中将CSEncryption设置为“Y”。
答案 1 :(得分:1)
(app用户的密码存储在数据库中)。
使用SHA1/SHA2算法加密存储的密码。这是最常用的技术。 我不是.NET开发人员,但我很确定他们在某个地方提供了这个功能。
当用户登录时,再次加密给定的密码并将其与存储的密码进行比较。如果它们相等,请让用户登录。