簡體   English   中英

使用身份驗證方法“ SASL DIGEST-MD5”時要傳遞哪種密碼格式(純文本或MD5哈希)?

[英]Which password format (plaintext or MD5 Hash) to be passed when using the authentication method “SASL DIGEST-MD5”?

我正在為Active Directory-AD替換LDAP,並且在身份驗證方面遇到困難。 在LDAP中,密碼作為MD5哈希值傳遞。 在廣告中,我還沒有找到類似的東西。 我正在嘗試將SASL與DIGEST-MD5一起使用,但是只有當密碼以純文本格式傳遞時,才可以進行綁定 我想知道是否可以繼續以MD5哈希格式傳遞密碼。 如果是這樣,這是怎么做的? 下面是C#中的代碼。

疑問在於第5行:是否可以將字符串(secureString)傳遞到MD5哈希中?

1. LdapDirectoryIdentifier identifier = new LdapDirectoryIdentifier("MYSERVER", 636, false, false);
2. LdapConnection ldapConnection = new LdapConnection(identifier);
3. SecureString secureString = new SecureString();
4. "userPassword".ToCharArray().ToList().ForEach(p => secureString.AppendChar(p)); 
5. var networkCredential = new NetworkCredential("username", secureString, "realm");
6. ldapConnection.SessionOptions.VerifyServerCertificate = new VerifyServerCertificateCallback(ServerCallBack);
7. ldapConnection.SessionOptions.SecureSocketLayer = true;
8. ldapConnection.AuthType = AuthType.Digest;
9. ldapConnection.Bind(networkCredential);

不,您絕對不能通過基於密碼的MD5哈希來創建新的NetworkCredential 那會打亂哈希表的觀點。 您可以傳遞純文本密碼或僅包含密碼的SecureString

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM