文章有一些錯(cuò)誤,摘要、簽名、編碼、加密是不同的三個(gè)概念,這里被混淆了。
使用base64url是把JSON編碼,其實(shí)只不過(guò)是先扁平化再用64個(gè)可讀無(wú)沖突字符來(lái)表達(dá),毫無(wú)加密效果。SHA256的摘要只是為JSON數(shù)據(jù)生成一個(gè)“指紋”,防止被篡改,屬于完整性范疇,也無(wú)任何加密效果,摘要不等于簽名,簽名是用私鑰加密摘要。所以Token本身并沒(méi)有任何加密機(jī)制,它依賴于HTTPS的通道保密能力。不過(guò)應(yīng)該可以自己為Token增加加密機(jī)制,這就帶來(lái)了額外的開(kāi)銷。
c792d2b9f450 評(píng)論自什么是 JWT -- JSON WEB TOKEN