gpt4 book ai didi

java - 使用 Spring-security 进行密码加密和解密

转载 作者:行者123 更新时间:2023-12-03 04:11:24 24 4
gpt4 key购买 nike

前言:我有一个使用spring-boot(maven项目)开发的JAR。然后,我将访问 JAR 文件夹并运行以下命令来执行它:

java -server -jar ${jarName}
--spring.config.location=classpath:config.properties

因此,我的 JAR 从属性文件中读取 {key, value} 对并相应地执行代码。这工作没有问题,但我的 config.properties 文件中有几个属性,其中包含直接连接到 Oracle 数据库的数据库详细信息。它还具有我的应用程序 super 管理员用户名和密码。

我不想将此代码推送到 bit-bucket/stash/git,因为它存储了我的所有密码。

解决方法:我可以使用空密码将代码推送到 git/stash,然后运行以下命令通过 --spring 注入(inject)属性文件.config.location命令如下

java -server -jar ${jarName}
--spring.config.location=./config.properties

问题:如何在 Spring 应用程序中加密和解密字符串/密码?

我想将密码存储在加密格式的属性文件中,然后通过我的代码解密并连接到 Oracle 数据库和我的应用程序。

最佳答案

通常,这些类型的配置文件应列在 .gitignore 中,而不是推送到存储库。此外,如果您想加密然后再次解密,则无论如何都没有理由推送它们。但是,如果有通用配置,您可能希望推送该配置并将凭据存储在另一个未推送的文件中。

一个例子:

  • application.properties:您希望推送到存储库的常用属性
  • database.properties:要保密且位于本地计算机上的属性

.gitignore

database.properties

然后您可以使用 Spring 注解在运行时加载属性文件。

@PropertySource(value = { "application.properties", "database.properties" })

关于java - 使用 Spring-security 进行密码加密和解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51131731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com