JWT(JSON Web Token)的資料結構

2021-10-06 10:05:22 字數 808 閱讀 7188

jwt 的資料結構是 : a.b.c

a - header 頭資訊

b - payload (有效荷載,用於記錄使用者非隱私資料)

c - signature 簽名

資料結構:

alg 是加密演算法定義內容,如: hmac sha256 或 rsa

typ 是 token 型別,這裡固定為 jwt。

在 payload 資料塊中一般用於記錄實體(通常為使用者資訊)或其他資料的。主要分為三部分,分別是:已註冊資訊(registered claims),公開資料(public claims),私有資料(private claims)。

常用的已註冊資訊: iss(發行者), exp(到期時間), sub(主題), aud(受眾)

公開資料一般都會在 jwt 登錄檔中增加定義,避免和已註冊資訊衝突。

公開資料和私有資料均可由程式設計師任意定義。

注意: 即使 jwt 有簽名加密機制, 但是 payload 內容都是明文記錄, 除非記錄的是加密資料, 否則不排除洩露隱私資料的可能。 不推薦在 payload 中記錄任何敏感資料。

簽名資訊。 這是乙個由開發者提供的資訊。 是伺服器驗證的傳遞的資料是否有效安全的標準。 在生成 jwt 最終資料的之前,先使用 header 中定義的加密演算法將 header 和 payload 進行加密, 並使用點進行連線。 如: 加密後的 header .加密後的 payload。 再使用相同的加密演算法, 對加密後的資料和簽名資訊進行加密, 得到最終結果。

clickhouse insert的資料結構

clickhouse insert大致分為兩部分 1.sql語句部分 insert into table f1,f2 2.資料部分資料部分又分為3部分 頭,資料,尾 資料頭 資料塊1 資料塊2 資料塊n 資料尾從中可以看出 每個insert可以包含多個資料塊,每個資料塊可以包含多行。乙個完整的ins...

資料結鍊錶

1.為什麼需要雙向鍊錶 2.雙向鍊錶刪除節點的3種情況 結論 在雙向鍊錶中插入元素時,使用3個指標變數,實現插入操作 注意 在刪除元素時,通過next null 判斷是否只有乙個業務節點 及判斷是否在鍊錶的0號位置 要特殊處理這兩中情況,避免異常。3.迴圈鍊錶的插入情況 4.迴圈鍊錶的刪除的幾種情況...

Opencv Python API 基本資料結構

本例使用python3.7 opencv環境配置方法 pip install numpy matplotlib 構造2 行 4列 全是0的uchar型別的二維陣列import numpy as np z np.zeros 2 4 np.uint8 type z zarray 0,0,0,0 0,0,...