繁体   English   中英

Spring Rest API:密码编码

[英]Spring Rest API : Password encoding

该项目基于Spring-4构建,并具有用于SMTP连接和MySql数据库的bean。 但是,这些配置与可读密码一起位于XML文件中。 有没有关于在Spring XML中没有可读密码的建议?

我尝试搜索多个博客和站点,但没有找到明确的答案,如果可以帮助,请多多关照。

您可以将编码后的密码放入配置文件中,然后将解码后的密码放入自定义DataSource 以下是想法:

1.对密码进行编码并将其放入配置文件中:

您可以使用任何算法对其进行编码或通过加密对其进行保护。 例如,使用Base64将密码“ myPassword”编码为“ bXlQYXNzd29yZA ==“,然后放入配置文件中:

<property name="password"><value>bXlQYXNzd29yZA==</value></property>

2.实现自定义DataSource并以相应的方法解密/解密密码。 以下是扩展org.apache.commons.dbcp.BasicDataSource的示例:

public class CustomDataSource extends BasicDataSource{

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

    private String decodePassword(String encodedPassword) {
        // decode or decrypt the encodedPassowrd 
        return decodedPassword;
    }
}

3.在配置中使用自定义DataSource

<bean id="dataSource" class="CustomDataSource">
    <!-- other properties like driverClassName, url, username, etc. -->
    <property name="password"><value>bXlQYXNzd29yZA==</value></property>   
</bean>  

暂无
暂无

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

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