0

我的 bean spring XML 配置文件中有以下内容。在这里,他们试图从属性文件运行时获取密码并通过调用扩展 spring FactoryBean 的类“SpringPwdDecrypterUtil”来解密密码。

问题:在他们提到用户和密码的属性文件中。但是密码是解密的,将通过以下配置解密。我想知道他们(现有的产品应用程序)将如何生成密码(解密)并放置在文本文件中!

bean.xml

<property name="password">
            <bean class="com.cname.SpringPwdDecrypterUtil">
                <property name="password">
                  <value>${db.password}</value>
                </property>
            </bean> 
        </property>

--SpringPwdDecrypterUtil.java

package com.cname;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.FactoryBean;

public class SpringPwdDecrypterUtil
  implements FactoryBean
{
  private String password = null;
  private String key = null;

  public void setPassword(String password) {
    this.password = password;
  }

  public void setKey(String key) {
    this.key = key;
  }

  public Object getObject() {
    if (StringUtils.isNotEmpty(this.key)) {
      return CryptoUtils.decryptAndEncodeBase64(this.key, this.password);
    }

    return CryptoUtils.decryptAndEncodeBase64(this.password);
  }

  public Class getObjectType() {
    return String.class;
  }

  public boolean isSingleton() {
    return true;
  }
}
4

0 回答 0