java – apache httpclient在打开调试日志记录时以明文形式记录密码

前端之家收集整理的这篇文章主要介绍了java – apache httpclient在打开调试日志记录时以明文形式记录密码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
启用调试日志记录时,Apache httpclient似乎以明文形式记录密码.

有没有办法禁用它?这样我可以看到其余的调试日志而不是凭据?

解决方法

在网络上发送密码之前,请在内存中创建密码的SHA1哈希值.
MessageDigest md = MessageDigest.getInstance("SHA-1");
byte[] sha1hash = new byte[40];
md.update(text.getBytes("UTF-8"),text.length()); // TODO verify the lengths are the same
sha1hash = md.digest();

http://www.mkyong.com/java/java-sha-hashing-example/

如果您绝对需要明文密码,您有以下几种选择:

>您可以禁用标头的日志记录或将其设置为高于debug:Disable HttpClient logging的级别
>您可以在发送密码之前动态禁用日志记录,然后再次将其重新打开:Dynamically configuring Apache Http client
>您可以实现自己的Logger处理程序/格式化程序或其中一个基本的,并在输出搜索您的密码并将其替换为XXXXXXXXX.然后将处理程序设置为您的类:https://hc.apache.org/httpcomponents-client-ga/logging.html

猜你在找的Java相关文章