gpt4 book ai didi

java - 在 Spring Boot + Spring Integration 应用程序中加密邮件密码

转载 作者:行者123 更新时间:2023-11-30 10:47:59 27 4
gpt4 key购买 nike

我的应用是用Spring boot开发的,这个应用也是读取一个邮箱,这个邮件读取部分是用Spring Integration框架实现的。

我需要加密此应用程序中使用的所有密码。我正在使用 Jasypt 库 ( http://www.jasypt.org/ ) 进行加密。所有密码加密工作正常,邮件密码除外。

问题:即邮件密码按原样发送(未解密)。所以,邮件认证失败。

代码涉及所有其他密码仅使用 spring boot,因此只有一个应用程序上下文存在。但是,单独的邮件阅读部分是使用Spring Integration框架实现的。此配置是使用 xml 文件完成的,此 xml 文件创建第二个应用程序上下文。因此,对于第二个应用程序上下文,密码解密不可访问

Jasypt 库相关的加密代码存在于第一个应用程序上下文中。

将以下基于 xml 的 Spring Integration 的配置转换为基于 Java 的配置是否可以解决问题? (因为,只有一个应用程序上下文)。如果是,任何人都可以为以下内容提供 Java 配置等效(Java 8 之前的版本)

<beans>
<int:channel id="receiveChannel" />
<mail:inbound-channel-adapter id="pop3ShouldDeleteTrue"
store-uri="${mail.pop3.user.folder.uri}"
channel="receiveChannel"
should-delete-messages="false"
should-mark-messages-as-read="true"
auto-startup="true"
java-mail-properties="javaMailProperties">

<int:poller max-messages-per-poll="1" fixed-rate="${actor.email.polling.interval}">
</int:poller>
</mail:inbound-channel-adapter>
<context:property-placeholder location="file:./application-${env}.properties" local-override="true" />
<util:properties id="javaMailProperties">
<prop key="${mail.socketFactory}">false</prop>
<prop key="mail.debug">false</prop>
<prop key="mail.store.protocol">${mail.store.protocol}</prop>
</util:properties>
</beans>

最佳答案

为什么在第二个应用上下文中?

您可以在 Spring Boot 应用程序中使用 @ImportResource 将 xml 拉入主 Boot 上下文。

参见 here举个例子。

如果要转换为 Java 配置,this answer有一个例子。

关于java - 在 Spring Boot + Spring Integration 应用程序中加密邮件密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998617/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com