当前位置: 首页 > 面试题库 >

Java-如何存储应用程序中使用的密码?

慕冠宇
2023-03-14
问题内容

我正在开发一个从数据库读取一些数据的应用程序。通过标准登录/密码机制执行与数据库的连接。

问题是:如何存储数据库密码?如果我将其存储为类成员,则可以通过反编译操作轻松检索它。

我认为混淆并不能解决问题,因为在混淆代码中也可以轻松找到字符串密码。

有人有建议吗?


问题答案:

切勿将密码硬编码到您的代码中。最近在最危险的25个编程错误中提到了这一点。

将秘密帐户和密码硬编码到您的软件中非常方便-
对于熟练的反向工程师。如果所有软件上的密码都相同,那么当不可避免地知道该密码时,每个客户都会受到攻击。而且由于它是硬编码的,因此修复起来非常痛苦。

您应将配置信息(包括密码)存储在应用程序启动时读取的单独文件中。这是防止密码因反编译而泄漏的唯一真实方法(切勿首先将其编译为二进制文件)。

看到这个美妙的答案以获得更详细的解释:WilliamBrendel



 类似资料:
  • 我正在使用带有Sybase ASE数据库的powerbuilder。我在从应用程序执行更新时调用存储过程,但在存储过程中出现错误。我想在存储过程中放置一些打印语句以检查错误是什么。如何查看此打印语句的输出?如何记录存储过程? 提前谢谢Sharmistha

  • 在我的应用程序中,我必须存储其用户的非常敏感的数据,例如其他第三方服务的各种密码(用户填写表格,向我们提供第三方服务的登录名和密码) 该应用程序的目标是使用从100多个输入生成的powershell脚本来设置其他复杂系统。需要将用户工作保存为草稿,这就是为什么我需要以某种方式加密敏感字段。 我读了很多关于Azure Key Vault的文章,每当我读到有关机密的文章时,它们似乎被描述为保存应用程序

  • 生成密钥库并在application.properties文件中配置,如以下链接所示-http://doc-kurento.readthedocs.io/en/stable/mastering/securing-kurento-applications.html

  • 问题内容: 我想知道是否应该实施保存用户凭据(例如用户名,电子邮件,密码等)的方法。我找不到自己使用它的充分理由。 我不希望其他应用程序能够访问,也不希望它们显示在“帐户和同步”设置中(尽管这没什么大不了的)。 所以我的问题是:我应该使用它吗?优点缺点?我可以在其他应用程序中隐藏并阻止它们显示在“帐户和同步”中吗? 问题答案: 这个问题的公认答案可能会帮助您… 我应该将AndroidAccount

  • 我是Java的新学习者,目前很难理解库和main的概念。我试图将用户的输入存储在特定的库中,即Store,而不添加“静态”。我的逻辑错了吗?这是我的代码 这是我的库代码