JWT 產生器
產生一個緊湊的 HS256 JWT,使用嚴格的 JSON 說明,並以標準化的 base64url 編碼與瀏覽器原生的 HMAC-SHA-256 簽署。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.貼上一個嚴格的 JSON 說明物件,並輸入至少 32 UTF-8 位元組的非生產金鑰,或為測試產生一個。
- 2.產生 HS256 標籤並檢視固定標頭、宣告、段落長度以及無保密資料的狀態。
- 3.複製識別字串並使用目標 JOSE 庫,透過明確演算法、發行者、觀眾、生命週期與金鑰政策來驗證。
關於JWT 產生器
JWT 產生器會使用 HS256 JSON Web 簽署,產生一個緊湊的 JSON Web 標籤。貼上一個 JSON 說明物件,輸入足夠長的 UTF-8 秘密或產生一個隨機的開發用秘鑰,簽署、檢視三個緊湊段落,並複製標籤。說明與金鑰材料會保留在當前瀏覽器標籤中,並透過 Web Crypto 進行處理。
保護頭部固定為 alg HS256 以及 typ JWT。固定演算法可防止使用者靜默地選擇無值、不匹配的非對稱演算法,或目的地不預期接受的其他值。宣告輸入必須為嚴格的 JSON 物件。陣列、null、註解、尾隨逗號、未定義、NaN、Infinity 以及 JavaScript 表示式將被拒絕。
標頭與緊湊的說明物件以 UTF-8 編碼,使用 URL 安全的字母表轉為 base64url,並以無等號填補方式輸出。簽署輸入為編碼後的標頭、點、編碼後的載荷。Web Crypto 會將金鑰作為原始 HMAC 金鑰以 SHA-256 輸入,並對該精確的位元組序列進行簽署。簽署結果則以 base64url 編碼為第三段。
HS256 是訊息驗證碼,非加密機制。任何取得標籤的人都能解碼其標頭與說明,而無需金鑰。絕不可僅因標籤已簽署,就將密碼、私鑰、個人資料或機密應用資料放入 JWT 中。簽署僅在驗證者使用正確金鑰且正確驗證結果時,才能偵測到修改。
密鑰至少須包含 32 個 UTF-8 位元組,符合與 256 位元雜湊輸出相對應的 HS256 金鑰長度下限。若文字含有非 ASCII 字元,字元數與位元組數可能不同。隨機按鈕會產生 32 個具密碼學安全性的隨機位元組,並以 64 個十六進位字元顯示;這些字元會作為 UTF-8 HMAC 密鑰使用。請將產生的值視為畫面上可見的開發資料,而不是自動佈建的正式環境密鑰。
本頁面不會自動加入 iat、exp、nbf、iss、sub、aud、jti 或任何其他宣告。數值型日期為從 Unix 時間元的秒數,非 JavaScript 毫秒。你必須負責宣告值的權威性、過期策略、發行者與受眾命名、時鐘偏移、金鑰旋轉、廢止與重複使用控制。即使語法正確,標籤仍可能不安全或不被接受。
產生器不會驗證它所建立的識別字串,請聯絡身分提供者,發布 JWK,儲存金鑰,選擇 kid,加密宣告,或建立 RS256、ES256、EdDSA、JWE 或未受保護的識別字串。在生產環境中使用受維護的 JOSE 庫,讓驗證、演算法允許清單、金鑰發現、金鑰輪替與錯誤處理與應用程式信任政策一同存在。
複製或顯示標籤可能透過剪貼簿歷史、截圖、瀏覽器擴充功能、日誌、支援票證或對話暴露承載憑證。請僅在本頁使用非生產環境的宣告與金鑰。若實際金鑰或有效標籤被貼入任何超出其預定邊界之外的環境,應立即旋轉或廢止,而非假設本機實作已無洩漏風險。
八個 RFC 4648 向量鎖定無填充 base64url 編碼器,包含破折號與底線的字母表。一個 RFC 4231 HMAC-SHA-256 向量獨立驗證 Web Crypto 輸出。額外測試鎖定固定標頭、緊湊載荷、三段式結構、宣告物件需求與最小金鑰長度。在信任之前,始終使用生產庫與其明確演算法、發行者、觀眾、生命週期與金鑰政策驗證複製的識別字串。
方法與來源
緊湊一個嚴格的 JSON 說明物件,將保護標頭固定為 HS256/JWT,UTF-8 編碼兩個段落,應用無填充的 RFC base64url,使用瀏覽器 WebCrypto HMAC-SHA-256 以至少 32 位元組的金鑰對標頭與載荷進行簽署,並輸出三個緊湊段落。
常見問題
- JWT 會加密宣告嗎?
- 不會。HS256 會對緊湊資料進行簽署,但不會隱藏資料。任何取得標籤的人都可以 base64url 解碼標頭與載荷。
- 為何演算法固定為 HS256?
- 固定演算法使產生器的行為明確,並避免產生造成混淆或不受保護的識別字串。其他演算法需要不同型別的金鑰與產生庫。
- 我可以將隨機金鑰用於生產環境嗎?
- 隨機位元組確實以安全方式產生,但其值會顯示在瀏覽器中。生產環境的金鑰應透過系統的金鑰管理流程進行配置、儲存、旋轉與審計。
相關工具
- JWT 解碼器在瀏覽器中本機解碼緊湊型 JWT 標頭與載荷,並提供明確的未驗證警告。
- Base64 編碼 / 解碼立即在瀏覽器中編碼或解碼 Base64,完整支援 UTF-8 — 表情符號和重音字元都能使用。
- JSON 格式化工具在瀏覽器中格式化、壓縮並驗證 JSON —— 可以美化顯示或壓縮為單行,並精確標示錯誤位置。
- UUID 產生器在瀏覽器中批次產生符合 RFC 標準的 4122 v4 UUID,可複製單個或全部內容。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
開發者工具 使用指南
查看全部- Generate a JWT for Testing: HS256 Tokens in Your Browser (英文原文)
- Generate a JWT for a GitHub App with HS256 (英文原文)
- Convert .properties Files to JSON Online (英文原文)
- Random MAC Address On or Off: A Developer Guide (英文原文)
- How to Decode JWT Tokens in Angular Apps (英文原文)
- JSON Schema to Zod: Inference Limits and a Safer Path (英文原文)
- Rust: Convert a Struct to a JSON String With serde (英文原文)
- How to Convert JSON to Excel in Python (英文原文)
- JSON to CSV Alternative With Built-In Formula Protection (英文原文)
- Format a JSON File in VS Code and in Your Browser (英文原文)
- Local JavaScript Playground Alternative for Safe Testing (英文原文)
- How to Convert IPv4 to a 32-Bit Integer for Storage (英文原文)
- Convert Decimal Numbers to IEEE 754 Floating Point Format (英文原文)
- HTTP Status Codes Alternative: A Registry-First Lookup (英文原文)
- How to Edit HTML in a Browser Using a Sandboxed Preview (英文原文)
- Format HTML Code from Notepad++ Without Plugins (英文原文)
- Why Is Hello World Used in Programming: A Practical Guide (英文原文)
- How to Make Flexbox Items Fill the Container Height (英文原文)
- File Signatures List Alternative: Twelve Verified Prefixes (英文原文)
- How to Open Excel Files Online in a Browser Preview (英文原文)