当前位置: 首页 > 知识库问答 >
问题:

隐藏或加密密码的Spring Boot最佳实践

司徒俊良
2023-03-14

我已经使用Spring框架大约4年了,现在使用Spring Boot已经有几个月了。我的Spring MVC应用程序通常部署在Java EE容器上,如JBoss/WildFly或WebLogic。这样做允许我将JNDI用于数据源或任何其他涉及机密/密码的敏感数据。这使得我的应用程序基于其名称“消费”JNDI资源。

现在有了Spring Boot,尤其是对于自包含的微服务(嵌入式tomcat),这些信息现在存储在应用程序中(application.properties和/或在SpringJavaConfig类中),因此在Git中进行版本化。

这使得这些信息更多地暴露给其他开发人员,我对此感到不太舒服。我也不喜欢那些细节出现在SonarQube和Jenkins(通过工作区)中。

问题是:对于这个特定的需求,有什么最佳实践吗?

*更新*我在这里和那里看到了一些关于Jasypt使用的文章,但我想知道自从上一个稳定版本是2014年以来,它是否仍然是一个有效的库。

非常感谢。

共有2个答案

阎知
2023-03-14

如果你的堆栈中有Spring的云,那么这很容易。使用加密值并将其放入应用程序属性中。遵循此处提及的说明。

另一种方法是,将这些值设置为环境变量,并在应用程序属性中使用环境变量。此处有说明

颜华池
2023-03-14

您可以考虑使用保管库。Spring开箱即用地支持其中一些。您可以在此处找到更多信息http://projects.spring.io/spring-vault/.

 类似资料:
  • 我正在寻找一个简单、安全的解决方案,使用Node存储用户密码。我是一个密码学新手,但是一直在试图通过网上搜索拼凑出一个解决方案。我正在寻找一种验证,即我所提出的是一个具有基本(而不是银行、医院等)安全需求的web应用程序的可靠解决方案。这是: …以下是我做出的选择让我走到了这一步: 使用什么哈希算法? 根据这篇被广泛引用的文章,看起来领先的竞争者是PBKDF2、bCrypt和scrypt。我选择P

  • 问题内容: 我是Android开发和实现SSLSockets的新手。经过一些挖掘后,我能够设置一个可以正常工作的简单服务器/客户端。我觉得该实现可能需要花费一些工作,并且在不使用纯文本格式的情况下困扰于如何将密码加载到密钥库中。这是客户端上的一些代码。如您所见,我已将密码硬编码到本地变量中。有没有更好的方法来加载密钥库密码,所以我在代码中没有纯文本格式? 更新: 事实证明,客户端根本不需要知道密钥

  • 问题内容: 有什么方法可以隐藏或加密JavaScript代码以防止人们查看,复制和/或修改专有程序? 问题答案: 您可以对其进行混淆,但是无法完全保护它。

  • 注意:为了讨论的目的,假设应用程序和数据库存储在单独的机器上,不共享密码等。因此数据库服务器的破坏并不自动意味着应用程序服务器的破坏。

  • 问题内容: 我计划在我的网站上为我的用户存储外国帐户信息,也称为RapidShare用户名和密码等。我想确保信息的安全,但是我知道,如果我对他们的信息进行哈希处理,我将无法将其检索以备后用。 Base64可以解密,因此毫无意义地使用它。我的想法是对用户进行加扰,即使在解密之后,也要以这种方式传递base64前后,如果尝试解密,则会得到一些看上去很有趣的文本。是否有一个php函数接受可以对字符串进行

  • 本文向大家介绍angularjs2 ng2 密码隐藏显示的实例代码,包括了angularjs2 ng2 密码隐藏显示的实例代码的使用技巧和注意事项,需要的朋友参考一下 angularjs2 ng2 密码隐藏显示代码结合ionic2开发移动端项目,注册页的密码的input一般用password,但是用户输入密码时可能会输入错误,需要显示成text。 如图: 首先,输入框的类型判断; 然后,添加眼睛的