如何屏蔽日志中的密码?

时间:2011-09-08 12:54:57

标签: java regex string servlets

隐藏信心数据的最佳方法是什么,例如密码到日志中。

我想记录发送到我的Servlet的POST请求的主体。但是记录密码并不是一个好主意。如何屏蔽密码?如果正则表达式是最好的主意,你能提出一些例子吗?

// Example:
password=123456asedqwe -> password=***
bla&password=qweqweqwe -> bla&password=***
password=qweqweqwe&qwe=qwe -> password=***&qwe=qwe

1 个答案:

答案 0 :(得分:11)

您可以尝试以下简单的正则表达式替换。它假设密码位于password=和下一个&之间。

    String s = "password=qweqweqwe&qwe=qwe ";
    String maskedPassword = s.replaceAll("password=[^&]*", "password=***");
    System.out.println(maskedPassword);

打印:

password=***&qwe=qwe