0
Im讀取XMPP認證流程中的內容。我知道,客戶端使用一種類似於此的算法來計算響應。XMPP DIGEST-md5計算響應的算法
- 創建一個形式爲「username:realm:password」的字符串。調用該字符串X.
- 計算X的16個八位字節MD5哈希值。調用結果Y.
- 創建形式爲「Y:nonce:cnonce:authzid」的字符串。調用這個字符串A1。
- 創建一個形式爲「AUTHENTICATE:digest-uri」的字符串。調用這個字符串A2。
- 計算A1的32位十六進制數字MD5哈希值。調用結果HA1。
- 計算A2的32位十六進制數字MD5散列。調用結果HA2。
- 創建一個格式爲「HA1:nonce:nc:cnonce:qop:HA2」的字符串。調用這個字符串KD。
- 計算KD的32位十六進制MD5哈希值。調用結果Z.
並將其嵌入到結構的響應字段中。
解碼質詢響應的一個例子是
username="rob",realm="cataclysm.cx",nonce="OA6MG9tEQGm2hh",cnonce="OA6MHXh6VqTrRk",nc=00000001,qop=auth,digesturi="xmpp/cataclysm.cx",response=d388dad90d4bbd760a152321f2143af7,charset=utf-8,authzid="[email protected]/myResource"
但我關心的是,我還沒有看到任何地方如何在此響應字段在服務器上使用?有沒有真正使用它的用例?有人可以引用參考文獻/見解/實現如何使用響應字段以及它如何在確定用戶的真實性方面發揮作用。
謝謝!