3

我正在制作使用数据库(mysql)的桌面应用程序(我们称之为应用程序)。更多应用的用户共享一个数据库用户。示例:John 和 Mike 应用程序用户以“dbuser”等身份连接到数据库。

问题是:如何有效地为数据库用户保存密码?(应用程序用户的密码存储在数据库中)。

我找到了可能的解决方案: 1. 在代码中 - 这实际上很愚蠢 :D 2. 在文本 INI 文件中 - 易于阅读!3.在外部文件中加密-很好,但需要访问应用程序。

4

2 回答 2

1

(应用程序用户的密码存储在数据库中)。

使用SHA1/SHA2算法加密存储的密码。这是最常用的技术。我不是 .NET 开发人员,但我很确定他们在某处提供了该功能。

当用户登录时,再次加密给定的密码并将其与存储的密码进行比较。如果相等,则让用户登录。

于 2010-01-28T14:58:42.263 回答
1

您可以将其以加密格式存储在 INI 文件中。恕我直言,这是最好的方法。我将连接字符串以加密格式存储在 .NET 应用程序的 App.config 中。

编辑:

要编辑连接字符串,我在 App.Config 文件 CSEncryption="Y|N|R" 的 AppSettings 中使用了另一个配置值

如果是Y,则连接字符串被加密,解密并使用它。

如果是N,连接字符串不加密,直接使用。

如果是 R,则连接字符串未加密,对其进行加密并更新连接字符串并在 App.Config 中将 CSEncryption 设置为“Y”。

于 2010-01-28T14:52:26.993 回答