JWT簡要說明

2022-01-10 11:52:49 字數 1152 閱讀 1157

json web token (jwt) 是一種開放標準 (rfc 7519) 定義了一種用於安全傳輸的緊湊、自包含(注:或自說明) 的json結構, 被傳輸的資訊可以通過jwt內容中的演算法+金鑰進行加密解密,來確保資訊可信。jwt可以使用乙個加密串 (使用hmac對稱演算法,或非對稱演算法rsaecdsa)

jwt主要用於兩種場景:認證(authorization)資訊加密傳遞

jwt主要分為三部分:

jwt形式為header.payload.signature,三個部分都是json通過base64加密而成,也就是說:jwt可以被任何人讀取,只要使用base64urlencode解密下就可以!(資訊加密後邊講)

下面分別介紹這三部分內容與其組成:

header這部分包含令牌所用的演算法(alg:algorithm, 常用的有hmac sha256或rsa)和 令牌的型別(typ: token type,jwt型別只能是"typ":"jwt")未被加密前的樣子就像

payload這部分包含token的資訊,這部分可以包含 已被註冊資訊、公有的資訊、私有的資訊,提供了很多可以自定義的部分

官方的例子:

公有的資訊、私有的資訊都是自定義的,注意不要與官方給的衝突即可,另外注意保持引數盡量少且不要暴露隱私資料

jwt的長度比較長,如果儲存jwt到cookie中,可能會突破cookie的4k儲存限制,所以需要保持引數盡量少

簽名部分使用header中定義的演算法與資訊傳遞方的金鑰(公鑰/私鑰),把經過base64url加密的header與payload使用.連線在一起,進行加密得出簽名。用來驗證此jwt資訊未被篡改

最後整體放在一起使用.連線在一起,它長這樣:

本文內容主要是為了引出下文使用jwt作為spring security oauth2的token儲存

BCP簡要說明

bcp是sybase公司提供專門用於資料庫表一級資料備份的工具。一般存放在所安裝的ase或者open client 的bin目錄中。12版本以前的ase,bcp存放目錄為 sybase bin 12版本 含12版本 以後存放目錄為 sybase ocs 12 x bin 其中 sybase為syba...

initcall debug簡要說明

linux version 3.10.40 1.使用說明 documentation kernel parameters.txt中的說明如下 initcall debug knl trace initcalls as they are executed.useful for working out ...

ramoops pstore簡要說明

1.pstore pstore是persistent storage的縮寫。核心發生異常時如果能將日誌等資訊儲存下來不丟失,那麼就可以通過這些資訊來定位問題。不同的平台可以提供的儲存位置不同,例如有些平台支援硬碟,有些不支援。除了平台差異,異常型別也決定了在發生異常時該儲存位置是否還可用。pstor...