開發者 / 權杖

JWT編碼器與產生器

從JSON載荷建立並簽署JSON Web Token,可使用HS256/384/512、RS256/384/512、PS256/384/512或ES256/384,並快速加入iat和exp宣告,用於測試API。

JWT編碼器與產生器: JWT由三個以句點連接的Base64url部分組成:標示演算法的標頭、包含宣告的載荷,以及針對前兩部分產生的簽章。HMAC演算法使用共用密鑰簽署;RSA和ECDSA則使用私密金鑰簽署,讓持有公開金鑰的任何人都能驗證。簽署會使用瀏覽器的Web Crypto API;ECDSA簽章會寫成JWS要求的64或96位元組r‖s值。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。

使用次數
在瀏覽器中
費用
免費・免註冊
可用狀態
可立即使用
JWT編碼器本機處理

全程在瀏覽器中執行

token會在瀏覽器中使用Web Crypto簽署。請使用測試金鑰:貼到任何網頁中的金鑰都應視為已暴露。

標準宣告

iss 表示簽發權杖者,sub 表示權杖所關聯的對象,aud 表示權杖的預定接收者,exp 表示到期時間,nbf 表示開始生效的時間,iat 表示簽發時間,jti 則是唯一 ID;時間是自 1970 年 1 月 1 日起算的秒數。請讓存取權杖維持短效,期限從幾分鐘到一小時不等,並在每次請求時檢查 exp 和 aud。

若要讀取權杖,請使用JWT 解碼器;若要檢查簽章,請使用JWT 驗證工具。

none 演算法

有些程式庫過去會接受 alg none 且沒有簽章的權杖;伺服器必須始終決定接受哪些演算法,絕不能信任權杖自己的標頭。因此,本工具只提供已簽章的演算法。

使用方式

  1. 選擇演算法;如果伺服器需要金鑰ID,也請一併加入。
  2. 編輯JSON載荷;按一下即可設定iat或到期時間。
  3. 輸入共用密鑰,或貼上PKCS #8 PEM格式的測試私密金鑰,然後複製Token。

隱私與限制

載荷和金鑰會留在瀏覽器中。請只使用測試金鑰。

相關工具

常見問題

JWT有加密嗎?

沒有:任何人都能解碼Base64url來讀取已簽署JWT的載荷。簽章只能證明產生者以及內容未遭變更;請勿將機密放入載荷。

我應該使用哪種演算法?

如果由同一個服務建立並檢查Token,請使用HS256;如果由其他服務使用公開金鑰驗證,請使用RS256或ES256。ES256產生的Token較短。

我的金鑰開頭是BEGIN RSA PRIVATE KEY,該怎麼辦?

這是PKCS #1格式;請使用openssl pkcs8 -topk8 -nocrypt -in key.pem進行轉換,輸出的BEGIN PRIVATE KEY格式即可供瀏覽器接受。

免費工具・使用在瀏覽器中次・免註冊