【发布时间】:2013-04-16 09:36:55
【问题描述】:
我已将我的 JAVA EAR 提交给 Veracode 安全工具,并在以下代码中遇到密码明文存储问题:
ApplicationProperties app = new ApplicationProperties(fileProp);
String sqlServerPassword = app.getAppProperty("sqlServerPassword");
con = DriverManager.getConnection(sqlServerConnectString, sqlServerUserID, sqlServerPassword);
我已经在属性文件中存储了这个密码的值。
请有人帮我解决这个问题。
【问题讨论】:
-
显而易见的答案是“不要以纯文本形式存储密码”,但我猜你的真正问题是,你如何存储它并仍然使用它连接。 (例如,如果您有一个公钥,管理员可以使用它为文件生成密码字符串,然后您使用嵌入在您的应用程序中的私钥对其进行解码,诸如此类......)
-
是的,这是我的问题。你所说的公钥是什么意思?
-
@user1782009 哇,这里有很多东西要读:en.wikipedia.org/wiki/Public-key_cryptography
-
@Khanserthanks 的链接..但它只包括理论部分..您能否提供任何实际的实现方法来存储我的密码,而不是将其存储为纯文本?
标签: java jdbc security veracode