C++ ADsOpenObject密码加密?

C++ ADsOpenObject密码加密?,c++,windows,ldap,C++,Windows,Ldap,我正在通过LDAP url从Active Directory获取一些详细信息,用于此 msdn库中的ADsOpenObject: hRes = ADsOpenObject(pwszBindingString, pwszUSER, pwszPASS, ADS_SECURE_AUTHENTICATION,IID_IADs, (void**)&iads ); 我怀疑在连接域控制器时给定的密码是否会被加密 警告:如果在未指定身份验证标志的情况下指定用户名和密码,则用户名和密码将以明文形式通过网

我正在通过LDAP url从Active Directory获取一些详细信息,用于此
msdn库中的ADsOpenObject:

hRes = ADsOpenObject(pwszBindingString, pwszUSER, pwszPASS, ADS_SECURE_AUTHENTICATION,IID_IADs, (void**)&iads );
我怀疑在连接域控制器时给定的密码是否会被加密

警告:如果在未指定身份验证标志的情况下指定用户名和密码,则用户名和密码将以明文形式通过网络传输,这是一种安全风险。在未指定身份验证标志的情况下,请勿指定用户名和密码

您正在使用来自的ADS\u SECURE\u身份验证标志,这意味着:

请求安全身份验证。设置此标志后,WinNT提供程序将使用NT LAN Manager(NTLM)对客户端进行身份验证。Active Directory将使用Kerberos(可能还有NTLM)对客户端进行身份验证。当用户名和密码为NULL时,ADSI使用调用线程的安全上下文绑定到对象,该上下文是运行应用程序的用户帐户的安全上下文或调用线程表示的客户端用户帐户的安全上下文

NTLM和Kerberos都是“加密”密码的协议。如果您还希望对用户名进行加密,则需要SSL(这需要为域设置证书服务器)


您可以始终使用数据包嗅探器来验证信息是否已加密。

谢谢,但我不清楚该标志是否应指定任何特定标志,或者在ADS\u AUTHENTICATION\u ENUM中为加密用户名指定任何标志,ldap中的密码connection@RaviKumar我用
ADS\u SECURE\u AUTHENTICATION
标志的描述编辑了答案,并为您解释了它。@Sean Hall我现在没有时间“嗅探”,我选择相信这是一个附带项目!