在log4j.properties文件SMTP Appender中隐藏或加密密码

时间:2013-04-09 19:18:47

标签: java passwords log4j smtpappender

我正在使用自定义gmail smtp appendar从我的Gmail帐户发送错误日志。 按照说明操作:http://www.tgerm.com/2010/05/log4j-smtpappender-gmail-custom.html - 一切都很好。 除了一件事: 在我的log4j.properties中:我不想输入我的密码“log4j.appender.EMAIL.SMTPPassword = somepass”,以便我可以与我的队友分享这个项目。有没有人有建议?

下面是log4j.properties部分:

log4j.appender.EMAIL=com.tgerm.log4j.appender.GmailSMTPAppender
log4j.appender.EMAIL.SMTPHost=smtp.gmail.com
log4j.appender.EMAIL.SMTPDebug=true
log4j.appender.EMAIL.From=from@gmail.com
log4j.appender.EMAIL.To=to@tgerm.com
log4j.appender.EMAIL.SMTPUsername=smtpuser@gmail.com
log4j.appender.EMAIL.SMTPPassword=somepass //this is the problematic part
log4j.appender.EMAIL.Subject=Email Notification from Gmail SMTP Appender
log4j.appender.EMAIL.cc=cc@gmail.com
log4j.appender.EMAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.EMAIL.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.EMAIL.BufferSize=1

2 个答案:

答案 0 :(得分:6)

对于初学者:请勿使用您的个人电子邮件地址 - 创建一个与您的团队成员共享的新帐户。

如果您仍想加密,请将加密信息放在单独的属性或xml文件中,编写代码进行加密和解密,然后以编程方式配置log4j的那一部分。

(并且,正如下面的gdt所述,请记住,如果应用程序可以解密密码,其他人也可以解密。没有100%安全的解决方案。保护文件访问权限通常比加密更有效。)

答案 1 :(得分:0)

  1. 创建可以共享的服务电子邮件帐户(非个人)。

  2. 要隐藏密码,请在适当的文件中指定,但在首次运行后,请将其读取,加密并写回属性文件。