请不要回答如何/为什么嵌入密码是个坏主意。我知道他们的所有内容,我已经查看过这篇文章What's the most secure way to embed a password inside Java code?,但这并不能为我提供答案。
关于我的问题。
我在我的程序中使用SQL App Role。因此,最终用户不知道角色名称和密码是什么,因为它不适用于他们,如果他们发现角色名称和密码是什么,则实际上存在安全风险。
我考虑将角色/ pw存储在安全的远程服务器中。但是我必须授予用户访问pw的权限。在配置文件中加密和存储pw不起作用,因为解密例程将在代码中。
基本上我能想到的一切只能模糊但不保护密码。
答案 0 :(得分:0)
“最”安全的方式?我不知道。有办法让它不那么明显。
一个建议是使用程序中某些无害数据的XOR,例如“按任意键继续。”
realPassword <- SHA256(myByteArray XOR getBytes(userMessage001))
这样,实际密码永远不会出现在代码中,只是导出密码的方法。您甚至可以将myByteArray
单独保存在文件中,以免它出现在代码中。
正如@Aurand指出的那样,你可以做的就是模糊真实的密码。有权访问代码的攻击者将能够找到它。