我的 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;
}
}