繁体   English   中英

加密属性文件中的值

[英]encrypt value in properties file

我在属性文件中有一个密码,我想用任何双向加密加密。

password = 123456

我在spring-security xml中使用它进行活动目录身份验证。 那个时候密码应该被解密。 有人能指点我怎么做吗?

我是春天的新手,我不确定在这里采取什么路线。 我使用了Jasypt但是我得到了LDAP authenticaton错误52,这意味着密码不正确。 我假设解密没有正确发生。

我正在使用春天4。

看看这里 主要步骤是:

  1. 在spring上下文xml文件中定义名称空间:

    xmlns:encryption="http://www.jasypt.org/schema/encryption"

  2. 定义加密器:

    <encryption:strong-password-encryptor id="passwordEncryptor" />

  3. 而不是你的上下文:property-placeholder标签,使用:

    <encryption:encryptable-property-placeholder encryptor="passwordEncryptor" location="classpath:application.properties"/>

  4. 现在,您可以使用加密的属性,如下所示,加密属性占位符将确保它们被解密。 请注意,您需要使用与使用定义的编码器相同的alghorithm(和相同的配置)来加密属性(密码)。

    password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)

答案我的问题。 几天后我无法与Jasypt合作。 所以我写了一个简单的AES加密/解密。(谷歌上的一些例子)

接下来在springsecurity.xml中我简单地添加了对AES类的引用

<beans:bean id="Decrypt" class="com.xxx.encoder.Decrypt">
    </beans:bean>

接下来注入这样的密码

<beans:bean id="contextSource"
class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
        <beans:constructor-arg value="${host}" />
        <beans:property name="base" value="" />
        <beans:property name="userDn" value="${userDN}" />
        **<beans:property name="password" value="#{Decrypt.decrypt('${password}')}" />**

通过我的属性文件中的加密密码,它工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM