将加密密码发送到LDAP服务器(Active Directory 2008)

时间:2013-03-28 09:15:36

标签: authentication active-directory ldap md5 encryption

我可以使用MD5 Digest身份验证成功使用明文密码登录AD,另外JNDI代表我们执行SASL加密/哈希工作,所以一切正常。但是我的问题是,我想自己哈希密码或任何外部设备以加密形式发送其密码,因此我必须将加密数据发送到AD,但是当我将密码更改为加密时它不起作用。有没有办法阻止JNDI执行哈希密码?


  String original = originalPassword;

String pass = null;

MessageDigest md;

尝试{

md = MessageDigest.getInstance(“MD5”);

md.update(original.getBytes());

byte [] digest = md.digest();

StringBuffer sb = new StringBuffer();

for(byte b:digest){

sb.append(Integer.toHexString((int)(b& 0xff)));

}

pass = sb.toString();

} catch(NoSuchAlgorithmException e){

e.printStackTrace();

}

然后我将这个“传递”用于我的代码:

env.put(Context.SECURITY_CREDENTIALS,pass);

但它不起作用:(

我非常感谢任何帮助。

感谢。

0 个答案:

没有答案