我正在使用 unboundid 原语通过以下代码对来自 Active Directory 上的 android 应用程序的用户进行身份验证:
public boolean getConnection() {
LDAPConnection connection = new LDAPConnection();
try {
connection.connect("my.ldap.com", 389);
SearchResult searchResult = connection.search("XXX",SearchScope.SUB, "(uid="+username+")");
if(searchResult.getEntryCount() != 1) {
return false;
}
else {
String dn = searchResult.getSearchEntries().get(0).getDN();
try {
connection = new LDAPConnection("XXX", 389, dn, password);
return true;
}
catch (LDAPException e) {
return false;
}
}
} catch (LDAPException e) {
e.printStackTrace();
}
return true;
}
我的问题是:既然密码在那个函数中是清晰可读的,你知道它是否以及如何被加密以“发送”到 LDAP 以与 AD 中的密码进行比较?