token實現原理?
. Token的原理1) 將荷載payload,以及Header信息進行Base64加密,形成密文payload密文,header密文。
2) 將形成的密文用句號鏈接起來,用服務端秘鑰進行HS256加密,生成簽名.
3) 將前面的兩個密文后面用句號鏈接簽名形成最終的token返回給服務端
說明:
(1)用戶請求時攜帶此token(分為三部分,header密文,payload密文,簽名)到服務端,服務端解析第一部分(header密文),用Base64解密,可以知道用了什么算法進行簽名,此處解析發現是HS256。
(2)服務端使用原來的秘鑰與密文(header密文+"."+payload密文)同樣進行HS256運算,然后用生成的簽名與token攜帶的簽名進行對比,若一致說明token合法,不一致說明原文被修改。
(3)判斷是否過期,客戶端通過用Base64解密第二部分(payload密文),可以知道荷載中授權時間,以及有效期。通過這個與當前時間對比發現token是否過期。