如何解决CWE-259:使用硬编码密码?

use*_*009 8 java security veracode

我向 Veracode 安全扫描工具提交了我的应用程序 EAR,并在下面的代码中发现了这个缺陷:

private String url = "jdbc:mysql://localhost:8081/sql";  
private String userName = "xyz";  
private String password = "abc";
DriverManager.getConnection(url, user, password); // At this line i am getting this flaw. 
Run Code Online (Sandbox Code Playgroud)

请有人帮助我解决 CWE-259:使用硬编码密码缺陷。

小智 5

您遇到硬编码密码缺陷的原因是因为在代码片段的第三行中,您将密码硬编码在变量中。这是因为您在源代码中存储了敏感信息(用户名和密码),这是一个缺陷,因为您的源代码可以被反编译。

修复此缺陷的一种方法是将凭据存储在高度加密的文件中,或者对凭据应用强单向哈希值并将这些哈希值存储在配置文件中。

您可以在这里获取更多信息:http://cwe.mitre.org/data/definitions/259.html