如何在软件开发中保护密码?

时间:2010-12-21 08:11:52

标签: security passwords

如何在属性文件中保护您的密码? 加密/编码?

或者您是否使用不同的方法来处理连接字符串的数据库用户/密码?

谢谢你的帮助!

更新:感谢您的回复!在这个特殊情况下,我们谈论两层架构。我们有许多客户端直接连接到数据库。属性文件位于网络共享上。

4 个答案:

答案 0 :(得分:2)

对于数据库的连接字符串,我主要使用jndi连接。在那里我可以加密密码:http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#Digested_Passwords

答案 1 :(得分:0)

你可能会仔细看看aspnet_regiis。这个commandLine程序有一些非常好的参数,如aus -pef(加密)和-pdf(解密)。

所以你可以加密你的完整(或只是一个端口)xxx.config文件,同时它对你的应用程序是可用的。

答案 2 :(得分:0)

我认为对于您通常的三层Web应用程序,您的数据库用户名和密码的保密性并不是您关心的太多,因为您可以控制网络安全性。以MongoDB为例,其中密码是可选的,并且所有配置都不支持。您需要将数据库服务器设置为仅接受来自您自己的应用程序服务器的连接。

您拥有多个帐户(具有相关权限),主要是为了保护自己免受意外事故的侵害,而不是真正让不同的人彼此分开。

最终用户无法直接连接到数据库。

因此,将连接凭证保留在服务器上的未加密属性文件中就可以了。如果有人进入服务器,无论如何你已经遇到了麻烦。

最好将此文件保留在源存储库之外。

答案 3 :(得分:0)

我是通过加密连接字符串来实现的 这可以通过创建单独的应用程序来加密连接字符串来实现。 并使用嵌入在应用程序本身中的解密代码。