Apache httpclient は、デバッグ ログが有効になっている場合、クリアテキストでパスワードをログに記録するようです。
これを無効にする方法はありますか?資格情報ではなく、残りのデバッグ ログを表示するにはどうすればよいですか?
Apache httpclient は、デバッグ ログが有効になっている場合、クリアテキストでパスワードをログに記録するようです。
これを無効にする方法はありますか?資格情報ではなく、残りのデバッグ ログを表示するにはどうすればよいですか?
ネットワーク上でパスワードを送信する前に、パスワードの SHA1 ハッシュをメモリに作成します。
MessageDigest md = MessageDigest.getInstance("SHA-1");
byte[] sha1hash = new byte[40];
md.update(text.getBytes("UTF-8"), 0, text.length()); // TODO verify the lengths are the same
sha1hash = md.digest();
http://www.mkyong.com/java/java-sha-hashing-example/
クリアテキストのパスワードが絶対に必要な場合は、いくつかの選択肢があります。
ヘッダーのロギングを無効にするか、デバッグよりも高いレベルに設定できます: Disable HttpClient logging
パスワードを送信する直前にロギングを動的に無効にしてから、再度有効にすることができます: Apache Http クライアントの動的な構成
独自の Logger ハンドラー/フォーマッターを実装するか、基本的なものの 1 つをサブクラス化し、出力でパスワードを検索して、それを に置き換えることができXXXXXXXXX
ます。次に、ハンドラーをクラスに設定します: https://hc.apache.org/httpcomponents-client-ga/logging.html
log4j.properties セット内
log4j.logger.httpclient.wire.level=WARN