我有一个以冒号结尾的密码,例如abc:
,我想将其加密存储在GIT中并使用Spring Cloud Config解密。
这是预期的YAML文件:
spring:
datasource:
password: "abc:"
这是加密的YAML文件:
spring:
datasource:
password: "{cipher}blablabla"
这是解密后我从Spring Cloud Config收到的信息:
spring:
datasource:
password: abc:
YAML解析器将其解释为键而不是值。
有没有办法告诉Spring Cloud Config我想将解密后的值括在引号或类似的内容中?
编辑
我的错误是,在解密字符串后,Spring Could Config服务器实际上在需要时会添加引号。所以结果是预期的:
spring:
datasource:
password: 'abc:'
问题在于,当我使用占位符引用此值时,引号在过程中消失:
a_key:
another_key: ${spring.datasource.password}
在由Spring Could Config服务器处理时成为:
a_key:
another_key: abc:
真正的问题是:在Spring Cloud Config中使用YAML文件中的占位符引用值时如何保留引号?
答案 0 :(得分:0)
到目前为止,我发现的唯一方法是通过转义$
字符将占位符分辨率留给运行时:
a_key:
another_key: \${spring.datasource.password}
然后,由Spring Cloud Config服务器提供的结果YAML为:
a_key:
another_key: ${spring.datasource.password}
链接到Spring Cloud Config文档here