如何在blueprint.xml中加密/解密密码?

时间:2019-06-19 13:18:16

标签: java apache-camel jbossfuse

我想为RedHat AMQ设置用户名和密码。 由于密码不能为纯文本,因此需要以加密方式指定。

<bean class="org.apache.activemq.camel.component.ActiveMQComponent" id="activemq">
        <property name="brokerURL" value="${activemq.brokerURL}"/>
        <property name="userName" value="${activemq.userName}"/>
        <property name="password" value="${activemq.password}"/>
    </bean>
activemq.userName=jboss
activemq.password=ENC(kOPUJKK141oluf4XZC91iw==)

2 个答案:

答案 0 :(得分:1)

您可以通过在pom.xml文件中添加Jasypt依赖项(例如-

)来实现此目的
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jasypt</artifactId>
    <version>x.x.x</version> <!-- use the same version as your Camel core version -->
</dependency>

它对属性文件(例如.CFG文件)中的值进行编码,并在运行时在项目内部使用时将其解码。有关详细信息,请访问link

答案 1 :(得分:0)

通过添加如下所示的物业占位符,使之成为可能:
ENC(kOPUJKK141oluf4XZC91iw ==)


<enc:property-placeholder>
        <enc:encryptor class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
            <property name="config">
                <bean class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
                    <property name="algorithm" value="PBEWithMD5AndDES"/>
                    <property name="passwordEnvName" value="JASYPT_ENCRYPTION_PASSWORD"/>
                </bean>
            </property>
        </enc:encryptor>
</enc:property-placeholder>