我有什么办法可以在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标签?
谢谢大家。
答案 0 :(得分:2)
感谢上帝,最后得到了一些解决方案,以便在Log4j.properties中保留加密密码
我们所要做的就是,
复制JDBCAppender
类log4j.jar。
修改
的定义public void setPassword(String password)
{
this.databasePassword = password;
}
JDBCAppender
中的
根据您的需要在log4j.jar中替换该类。
答案 1 :(得分:1)
我认为这是不可能的。即使可以考虑以下因素:
如果您可以建立仅提供加密密码的连接,则其密码不会加密,因为复制加密密码的每个人都可以连接您的数据库。唯一不同的是,密码以不同的方式呈现,可能较少人类可读,但仍然完全有用。
最好创建一个DB-User,其权限受限,只能写入日志记录表。通过这种方式,被盗的密码不会对您的数据库造成太大损害。