如何在春季启动中加密用户/pw 和 ftp 连接?



所以我有一个有效的ftp连接,我可以上传文件等等。但是,目前我将 pw/user 存储为硬编码值(我知道这不好(,并想看看我是否可以以某种方式隐藏/加密它们。如果可能的话,我还想加密实际的ftp连接。任何信息/指针都会很棒!

private int ftpProcess(String serverName, String userName, String password) {
FTPClient ftp = new FTPClient();
int statusCode = 0;
try {
ftp.connect(serverName);
// was required to add this passive mode in TC8 to connect to the mainframe
ftp.enterLocalPassiveMode();
ftp.login(userName, password);
ftp.site("filetype=jes");
submitJcl(ftp, "submitTest.txt", serverName);
ftp.quit();
} catch (Exception e) {
logger.error(e);
statusCode = 3;
}
return statusCode;
}

您可以使用 Jasypt 加密 application.properties 中的值。

有关详细说明,请参阅以下链接: https://stackoverflow.com/a/37424296/13454816

如果你已经在使用 Spring,你可以添加org.springframework.boot:spring-boot-starter-security依赖项并使用 BCryptPasswordEncoder 对值进行编码:

BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String enc = encoder.encode(value);

文档在这里:

  • https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.html

这是一个非常有用的教程:

  • https://www.baeldung.com/spring-security-registration-password-encoding-bcrypt

最新更新