jasypt加密启动时报错问题

jasypt加密启动时报错问题

jasypt版本:3.0.3

报错:

Failed to bind properties under 'xxx' to java.lang.String:

    Reason: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'xxx' to java.lang.String

Action:

Update your application's configuration

解决办法一(亲测有效):
降低版本,降低为2.1.x

<dependency>
			<groupId>com.github.ulisesbocchio</groupId>
			<artifactId>jasypt-spring-boot-starter</artifactId>
			<version>2.1.2</version>
		</dependency>

解决办法二
官方描述是,在3.0后默认支持的算法为PBEWITHHMACSHA512ANDAES_256 ,该种加密方式由sha512 加 AES 高级加密组成。

需要JCE(Java Cryptography Extension无限强度权限策略文件)支持.

  • 要么升级jdk到jdk1.8.0_161,正常启动
  • 要么,那既然默认算法需要JCE支持,就在配置文件中更改加密算法
jasypt.encryptor.algorithm=PBEWithMD5AndDES

启动正常

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误的原因是在 Spring 应用程序中,没有找到能够将 Integer 类型转换为 InetAddress 类型的转换器。这可能是因为你在某个地方使用了类型转换,但 Spring 框架无法找到合适的转换器来执行这个转换操作。 解决这个问题的方法是提供一个自定义的转换器来执行这个类型转换。你可以实现 Spring 的 Converter 接口,并在实现类中编写逻辑来执行 Integer 到 InetAddress 的转换。然后,将这个自定义的转换器注册到 Spring 应用程序的转换服务中,以便在需要的时候能够使用它。 以下是一个示例代码,展示了如何创建一个自定义的转换器来处理 Integer 到 InetAddress 的转换: ```java import org.springframework.core.convert.converter.Converter; import java.net.InetAddress; public class IntegerToInetAddressConverter implements Converter<Integer, InetAddress> { @Override public InetAddress convert(Integer source) { // 在这里编写逻辑来执行 Integer 到 InetAddress 的转换 // 返回转换后的 InetAddress 对象 } } ``` 然后,在你的 Spring 配置文件中,将这个自定义的转换器注册到转换服务中: ```xml <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <!-- 其他转换器 --> <bean class="com.example.IntegerToInetAddressConverter" /> </set> </property> </bean> ``` 通过这样的配置,Spring 将能够找到并使用你的自定义转换器来执行 Integer 到 InetAddress 的转换操作。这样,你就可以避免 ConverterNotFoundException 错误的发生。请根据你的具体情况进行调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值