对于数据库应用程序,我们通常需要保存连接到数据库的服务器名称,用户名、密码等数据,而这些数据我们通常都是要进行加密处理的,因为显而易见,存储为明文将会导致密码的泄漏,影响数据的安全性!
现在问题来了,我们如何才能安全的保存 我们的用户名和密码呢?
通常情况下,我们采用这样的办法来保存连接的信息。






















但是,如果你出现了和我以前有过的一样想法,那可能就要犯错误了。我的想法是,这样的简单加密密码还不是很安全,如果偷窥密码的人,连我的服务器名称、连接数据库的用户都不知道的话,岂不是更加安全了?好,说做就做,我们把服务器名称、连接用户名和密码统统加密,我看你还能怎么样?光知道我的用户名,密码你就猜吧!现在连我的用户名,你都不知道,我看你还猜什么!
修改后的保存数据库配置信息过程如下:









现在对这个连接配置文件进行一下小小的改动,用记事本打开它,把这个文件的第三行和第二行内容进行对调,重新启动我们的应用程序,结果数据库连接不上了,我们需要重新设置数据库连接,打开数据库连接配置窗口,发现用户名那个文本框的内容,出现了我们以前设置的密码!!!
好了,这里我们出现了问题,那么如何解决呢?
有一种办法,就是“见好就收”,就是我们使用的第一种方法,仅仅加密密码,对于服务器名称和用户名称不加密。如果你觉得这种方法不太安全,还是要让这些偷窥者们不知道你的用户的情况下来猜测密码,那么就让你保存的文本可以表示出这一行是什么含义,也是说我们的程序读取这个文本的时候,可以知道这一行保存的是服务器名称还是用户的密码。我们尝试将保存办法修改如下:









我们程序在读取的时候,首先将数据行解密,然后根据解密后的字符串起始字符来判断该文本的含义。
(这个是我最近的一些小感想,希望大家可以发表自己的意见!)