MD5 ダイジェスト認証を使用して、平文のパスワードで AD に正常にログインできました。さらに、JNDI が SASL 暗号化/ハッシュ作業を代行して実行するため、すべて正常に動作します。ただし、私の問題は、自分のパスワードを自分でハッシュしたい、または外部デバイスがパスワードを暗号化された形式で送信するため、暗号化されたデータを AD に送信する必要がありますが、パスワードを暗号化に変更すると機能しません。JNDI がパスワードのハッシュを実行するのを防ぐ方法はありますか?
"
String original = originalPassword;
文字列パス = null;
MessageDigest md;
試す {
md = MessageDigest.getInstance("MD5");
md.update(original.getBytes());
byte[] ダイジェスト = md.digest();
StringBuffer sb = new StringBuffer();
for (バイト b : ダイジェスト) {
sb.append(Integer.toHexString((int) (b & 0xff)));
}
パス = sb.toString();
キャッチ(NoSuchAlgorithmException e){
e.printStackTrace();
}
次に、この「パス」をコードに次のように使用します。
env.put(Context.SECURITY_CREDENTIALS, pass );
しかし、うまくいきませんでした:(
"
助けていただければ幸いです。
ありがとう。