古詩詞大全網 - 個性簽名 - JWT代幣詳解

JWT代幣詳解

JWT是JSON Web Token的縮寫,是壹個輕量級規範,也是壹個開放的行業標準。它定義了壹種簡潔而獨立的協議格式,允許我們使用JWT在用戶和服務器之間傳輸安全可靠的消息。

JWT實際上是壹個字符串,由三部分組成,頭、負載和簽名。

報頭描述了關於JWT的最基本的信息,例如它的類型和用於簽名的算法。

例如{"type":"JWT "," alg":"HS256"}

其報頭表明簽名算法是HS256算法。

HMAC算法(不對稱)

SH256

南非共和國(Republic of South Africa)

負載是存儲有效信息的地方。

定義壹個有效負載:{"sub": "1234567890 "," name": "John Doe "," admin": true}

visa由三部分組成,base64加密的頭部和base64加密的有效載荷連接起來形成壹個字符串。

然後通過頭中聲明的加密方法進行鹽密組合加密。

1和jwt都是基於json的,解析起來非常方便。

2.令牌中可以定制豐富的內容,易於擴展。

3.通過非對稱加密算法和數字簽名技術,JWT可以防止篡改,具有很高的安全性。

4.利用JWT,資源服務可以不依賴認證服務完成授權。

JWT代幣很長,占用很大的存儲空間。

壹個公鑰對應壹個私鑰,私鑰作為簽名加密JWT,所以這裏需要生成對應的公鑰:

輸入密鑰庫密碼:?keytool-list-keystore Chang Gou . jks

顯示的信息是:

密鑰庫類型:jks

密鑰庫提供者:SUN

您的密鑰庫包含1個條目。

長溝2020-7-28 private key entry,

證書指紋(sha 1):45:2e:51:8b:84:86:03:8c:af:99:14:5f:4f:D6:98:33:39:92:33:79。

您可以在輸入以下命令後獲得公鑰:

備註:classPathResource:私鑰位置;

New KeyStoreKeyFactory:要創建私鑰工廠,需要兩個參數:私鑰存儲的密碼和私鑰的位置;

Keystorekeyfactory.getkeyPair(別名,password.tochararray):獲取keyPair對象,keyPair.getPrivate()是獲取私鑰;

根據私鑰獲取令牌:jwthelper . encode(JSON . tojsonstring(map,new RSA signer (RSA私鑰));