在我的Spring启动应用程序中,我有以下内容
application.yml
文件:
jasypt:
encryptor:
password: secretKey
algorithm: "PBEWithMD5AndDES"
iv-generator-classname: org.jasypt.iv.NoIvGenerator
my:
ldap:
user: CN=Administrator,CN=Users,DC=company,DC=com
password: ENC(ObIbZYSJF60VnboZMRtlhj9a/+4B/kkP)
配置:
@Configuration
@EnableConfigurationProperties(MyProperties::class)
class MyConfig(
private val myProperties: MyProperties,
) {...}
========================
@ConfigurationProperties(prefix = "my.ldap")
data class MyProperties(
password: String
)
这个
上面的设置正在完全工作
但如果我想更改算法:
jasypt:
encryptor:
password: secretKey
iv-generator-classname: org.jasypt.iv.NoIvGenerator
或者两者都有(生成器和算法)
jasypt:
encryptor:
password: secretKey
所以将使用默认算法
PBEWITHHMACSHA512ANDAES_256
和
org.jasypt.iv.RandomIvGenerator
但我收到一个错误:
无法将“my.ldap.password”下的属性绑定到
java.lang.String:
Property: my.ldap.user
Value: "CN=Administrator,CN=Users,DC=company,DC=com"
Origin: class path resource [application-local.yaml] - 5:11
Reason: org.springframework.boot.context.properties.bind.BindException: Failed
将“my.ldap.password”下的属性绑定到
java.lang.String
https://github.com/ulisesbocchio/jasypt-spring-boot
根据上表,我预计我必须提供
仅有一个的
参数
jasypt.encryptor.password
但它不起作用。
为什么会发生这种情况?