我可以使用 MD5 Digest 身份验证使用明文密码成功登录 AD,另外 JNDI 代表我们执行 SASL 加密/哈希工作,所以一切正常。但是我的问题是,我想自己散列我的密码或任何外部设备以加密形式发送其密码,因此我必须将加密数据发送到 AD,但是当我将密码更改为加密时它不起作用。有什么办法可以防止 JNDI 对密码进行哈希处理?
"
String original = originalPassword;
字符串传递=空;
消息摘要医学博士;
尝试 {
md = MessageDigest.getInstance("MD5");
md.update(original.getBytes());
字节[] 摘要 = md.digest();
StringBuffer sb = new StringBuffer();
对于(字节 b:摘要){
sb.append(Integer.toHexString((int) (b & 0xff)));
}
pass = sb.toString();
} 捕捉(NoSuchAlgorithmException e){
e.printStackTrace();
}
然后我在我的代码中使用这个“通行证”:
env.put(Context.SECURITY_CREDENTIALS, pass );
但它没有用:(
"
我将不胜感激任何帮助。
谢谢。