如何在log4j.properties中加密密码?

时间:2014-04-04 10:29:41

标签: java jsp logging log4j audit-logging

我有什么办法可以在log4j.properties中加密密码

以下是我的追加者

log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/anilpractice
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=root
log4j.appender.DB.password=P@ssw0rd
log4j.appender.DB.sql=INSERT INTO logs VALUES('%x','%d{dd MMM yyyy HH:mm:ss}','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

请帮我解决一下如何加密.password标签?

谢谢大家。

2 个答案:

答案 0 :(得分:2)

感谢上帝,最后得到了一些解决方案,以便在Log4j.properties中保留加密密码

我们所要做的就是,

复制JDBCAppender类log4j.jar。

修改

的定义
public void setPassword(String password)
  {
          this.databasePassword = password;
  }
JDBCAppender

中的

根据您的需要在log4j.jar中替换该类。

答案 1 :(得分:1)

我认为这是不可能的。即使可以考虑以下因素:

如果您可以建立仅提供加密密码的连接,则其密码不会加密,因为复制加密密码的每个人都可以连接您的数据库。唯一不同的是,密码以不同的方式呈现,可能较少人类可读,但仍然完全有用。

最好创建一个DB-User,其权限受限,只能写入日志记录表。通过这种方式,被盗的密码不会对您的数据库造成太大损害。