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

Flywaydb Spring Boot和Jasypt-FlywayDB无法使用解密属性

丁翰海
2023-03-14

我在https://flywaydb.org/documentation/plugins/springboot下面做了flywaydb+Spring boot的配置,它可以很好地工作

spring.datasource.url= <DB_URL>
spring.datasource.username=testdb
spring.datasource.password=dbpass
  <dependency>
                <groupId>org.jasypt</groupId>
                <artifactId>jasypt-spring31</artifactId>
                <version>1.9.2</version>
            </dependency> 
spring.datasource.password= ENC(EFXC0ORLK+Uy6f)

然后在java端添加了一个Bean,该Bean使用org.jasypt.spring31.properties.EncryptablePropertyPlaceHolderConfigurer和静态方法加载属性

此外,我还确保上面的Bean实际上是使用记录器解密密码的。

但每当我运行我的应用程序时,它就会失败,错误是致命的:用户的密码验证失败--不知何故,spring在获得解密之前使用了这些属性。

共有1个答案

林涵映
2023-03-14

也有同样的问题,看起来像是Flyway中的一个bug。

解决方法是设置spring.flyway.password=enc(...)

 类似资料:
  • 我使用命令行加密和解密密码,它工作得很好,所以我确信我的加密和解密密码是准确的,但是当我尝试启动我的spring应用程序时,我得到了这个错误。因此任何帮助(•-•)

  • 我有一个由maven处理的Springboot项目,其中包含一些用Jasypt加密的秘密。当我运行时,我将传递jasypt密码为: 它能够运行测试用例,并将jar文件部署到存储库中。但是当我对mvn release做同样的操作时,jasypt密码没有正确设置。 或者 对于这两种情况,我在运行测试用例时都会遇到以下错误。 原因:java。lang.IllegalStateException:缺少必需

  • 我做了第一次测试。1.我在ApplicationMain.java中使用了@PropertySource(“classpath:sampleservices.yml”)或@PropertySource(“classpath:sampleservices.properties”)。2.我将ENC()密码保存在一个单独的文件(sampleservices.yml或sampleservices.prop

  • 创建随机盐。 使用SALT加密密码。 保存用户的salt和加密密码。 我想要盐的大小,算法给出作为输入。 我想要解密的原因是,我有一些为应用程序创建的配置文件和一些值是密码,我想要保存为加密的文件和解密时,我想要使用它。 谁能提供一个适当的例子或如何使用它在我自己的方式?我想实现Jasypt在文章中提到的。但没有可用的代码。

  • 本文向大家介绍在SpringBoot中通过jasypt进行加密解密的方法,包括了在SpringBoot中通过jasypt进行加密解密的方法的使用技巧和注意事项,需要的朋友参考一下 1.用途 在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥. 2.使用: 2.1通过UT创建工具类,并认识jasypt 可以看出, 每次生成的密码是不一样的, 但是通过密钥,可

  • null 我正在尝试使用Jasypt的StandardPBEStringEncryptor类 当我这样做时,我会得到以下异常: java.security.NosuchAlgorithmException:AES/CBC/PKCS5Padding SecretKeyFactory不可用 谢谢