JWT原理學習

2021-09-30 17:03:17 字數 1514 閱讀 9100

恩麼麼,用著用著就想知道實現對不對,我也想知道,然後就有了這個。。。。。。

// 1.建立物件,並暴露出兩個方法

let jwt =

,encode

(payload, secret)

}export

default jwt

let jwt =

,frombase64tostring

(str)

,// 實現乙個工具方法,轉base64

tobase64

(str)

,// 實現簽名的方法 接受乙個str和我們的金鑰

sign

(str, secret)

,// 對外暴露的函式

encode

(payload, secret)))

let content =

this

.tobase64

(json

.stringify

(payload)

)// 簽名使用header + . + content

let sign =

this

.sign

([header,content]

.join

('.'

), secret)

return

[header, content, sign]

.join

('.')}

}export

default jwt

let jwt =

return content

},frombase64tostring

(str)

,// 實現乙個工具方法,轉base64

tobase64

(str)

,// 實現簽名的方法 接受乙個str和我們的金鑰

sign

(str, secret)

,// 對外暴露的函式

encode

(payload, secret)))

let content =

this

.tobase64

(json

.stringify

(payload)

)// 簽名使用header + . + content

let sign =

this

.sign

([header,content]

.join

('.'

), secret)

return

[header, content, sign]

.join

('.')}

}export

default jwt

這裡是簡單的實現,如果想要新增更多的引數,自己動手就好了,反正又不難

Traceroute原理學習

traceroute 可以讓我們看到 ip資料報從一台主機傳到另一台主機所經過的路由。曾經介紹過 ip記錄路由的選項 rr,為什麼不使用這個選項而另外開發乙個新的應用程式 traceroute呢?原因有三 其一,並不是所有的路由器都支援記錄路由這個選項 其二,記錄路由一般是單向的選項,傳送端設定了該...

Spring原理學習

簡介 spring 框架是乙個分層架構,由 7 個定義良好的模組組成。spring 模組構建在核心容器之上,核心容器定義了建立 配置和管理 bean 的方式。組成 spring 框架的每個模組 或元件 都可以單獨存在,或者與其他乙個或多個模組聯合實現。每個模組的功能如下 核心容器 核心容器提供 sp...

Mysql 原理學習

7 27 2 併發控制和鎖的概念 併發會 有可能產生 資料髒讀 多個操作修改 同乙個資料時,產生髒資料。解決併發問題的解決方案 鎖的機制 1 共享鎖 2 排它鎖 讀鎖和寫鎖 select 時 加讀鎖,其他的select 操作可以讀取,但是不能修改 update 時 加寫鎖,其他的 操作不了。鎖的粒度...