我目前正在与开发人员一起担任IT安全工程师。作为PCI合规性的一部分,并且为了确保个人身份信息受到保护,需要在将这些地址写入日志文件之前屏蔽客户端电子邮件地址。 有人能为我提供一些如何实现这一目标的帮助。 我们的开发环境是Java 1.6。我将不胜感激任何帮助,我提前感谢你们。
答案 0 :(得分:1)
如果您只想记录电子邮件地址,我建议您从用户的电子邮件中生成md5。它不可逆,每封电子邮件应该是唯一的。
请参阅http://download.oracle.com/javase/6/docs/api/java/security/MessageDigest.html
答案 1 :(得分:0)
假设你正在使用Log4J(你已经表明过你),你可以编写自己的Layout。
您可以扩展说PatternLayout,委托超类来完成繁重的工作,然后在响应中屏蔽电子邮件。
/**
* Mask email addresses in logging lines.
*/
public class MaskingLayout extends PatternLayout {
private static Pattern EMAIL = Pattern.compile("([^.@\\s]+)(\\.[^.@\\s]+)*@([^.@\\s]+\\.)+([^.@\\s]+)");
@Override
public String format(LoggingEvent event) {
Matcher matcher = EMAIL.matcher(super.format(event));
return matcher.replaceAll("xxx@xxx.xxx");
}
}