加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:51:26 所属栏目:Java 来源:网络整理
导读:启用调试日志记录时,Apache httpclient似乎以明文形式记录密码. 有没有办法禁用它?这样我可以看到其余的调试日志而不是凭据? 解决方法 在网络上发送密码之前,请在内存中创建密码的SHA1哈希值. MessageDigest md = MessageDigest.getInstance("SHA-1");byte
启用调试日志记录时,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读