基於挑戰/應答(Challenge/Response)方式的身份認證系統就是每次認證時認證服務器端都給客戶端發送一個不同的"挑戰"字串,客戶端程序收到這個"挑戰"字串后,做出相應的"應答",以此機制而研制的系統.認證過程為:
1) 客戶向認證服務器發出請求,要求進行身份認證;
2) 認證服務器從用戶數據庫中查詢用戶是否是合法的用戶,若不是,則不做進一步處理;
3) 認證服務器內部產生一個隨機數,作為"提問",發送給客戶;
4) 客戶將用戶名字和隨機數合並,使用單向Hash函數(例如MD5算法)生成一個字節串作為應答;
5) 認證服務器將應答串與自己的計算結果比較,若二者相同,則通過一次認證;否則,認證失敗;
6) 認證服務器通知客戶認證成功或失敗。
原文鏈接:https://blog.csdn.net/chdhust/article/details/38491369