IRONSOFTWAREHOME
PYTHON 幫助

PyJWT Python(開發者指南)

Curtis Chau
Curtis Chau
Updated: 2026年6月20日

在 Python 程式庫中,PyJWT 是最受歡迎的 Python 庫,它為在 Python 專案中編碼和解碼 JSON Web Tokens (JWTs) 提供了一種方便的方法。 JWT 是一種緊湊且 URL 安全的方式來表示在兩方之間傳輸的聲明。 PyJWT 套件簡化了在 Python 中的 JSON 網頁令牌實作。 JWT 令牌在網路應用中廣泛用於身份驗證和資訊交換。 該套件在網路上有豐富的文件來支持開發者。 在本文中,我們還將探討來自 Iron Software 的 IronPDF,以便後續生成 PDF 文件。

關鍵特性

  1. **JWT編碼和解碼:**PyJWT 讓您輕鬆地編碼和解碼 JWT。 您可以透過用秘密金鑰和演算法編碼有效載荷來建立令牌,然後解碼它以驗證有效載荷。
  2. **支持多種算法:**PyJWT 支持多種簽署令牌的算法,包括 HMAC (HS256、HS384、HS512) 和 RSA (RS256、RS384、RS512)。 它支持對稱和非對稱算法。
  3. **聲明驗證:**該庫提供內建支持來驗證標準聲明,如 iss(發行者)、sub(主題)、aud(受眾)和 exp(過期時間),幫助實現安全的基於令牌的認證。

安裝

要安裝 PyJWT,您可以使用 pip:

pip install pyjwt
SHELL

為了獲得額外的加密支持,您可以用 crypto 選項安裝它:

pip install pyjwt[crypto]
SHELL

基本用法

這是一個如何在 Python 實作中使用 PyJWT 的簡單例子:

import jwt

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"
# Create the JWT token with a secret key using HS256 algorithm
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)

# Decoding a JWT
# Decode the JWT token to retrieve the original payload
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
Python

在這個例子中,我們使用 HS256 演算法,使用秘密金鑰編碼有效載荷來建立 JWT。 然後,我們解碼該令牌以檢索原始有效載荷。

輸出

PyJWT Python (運作方式:開發者指南):圖 1 - 解碼後的響應有效載荷範例

使用範例

  1. **身份驗證:**JWT 通常用於網路應用中的身份驗證。 使用者登入後,伺服器生成 JWT 並將簽名的令牌返回給客戶端。 客戶端可以使用此令牌驗證使用者身份,並在後續請求中包含該令牌。
  2. **資訊交換:**雙方可以使用 JWT 安全地傳輸資訊。 有效載荷可以包含任何資料; 令牌的簽名確保其完整性。

介紹 IronPDF

PyJWT Python (運作方式:開發者指南):圖 2 - IronPDF for Python:Python PDF 程式庫

IronPDF 是一個功能強大的 Python 程式庫,該程式庫使用 HTML、CSS、圖像和 JavaScript來建立、編輯和簽署 PDF 。 它提供高質量的效能,並使用極少的記憶體。 使用者可以從HTML生成PDF、合併或拆分PDF文件、從PDF中提取文字和圖片、應用水印、將PDF光柵化為圖片格式如JPEG和PNG、加密PDF文件等。 IronPDF 提供廣泛的 PDF 操作範圍。

IronPDF的關鍵特點

HTML 到 PDF 轉換

使用者可以將HTML文件、HTML字串和URL轉換為PDF。 例如,使用IronPDF的Chrome PDF渲染器從IronPDF將網頁渲染為PDF。

跨平台支援

IronPDF設計用於Python 3+版,可在Windows、Mac、Linux或雲平台上執行。

IronPDF is also available in .NET, Java, Python, and Node.js.

編輯和簽署

使用者可以設置屬性、通過密碼和權限新增安全性,並使用 IronPDF 對 PDF 應用數位簽名。

頁面模板和設置

IronPDF允許您自訂PDF文件,包含頁首、頁尾、頁碼和可調邊界。 它也支持響應式佈局和自訂紙張大小。

標準合規

IronPDF 套件遵循 PDF 標準,如 PDF/A 和 PDF/UA。 它支持UTF-8字元編碼,並處理圖片、CSS和字體等資源。

使用 IronPDF 和 PyJWT 生成 PDF 文件

IronPDF 先決條件

  1. IronPDF 使用 .NET 6.0 作為其底層技術。 因此,請確保您的系統上已安裝了 .NET 6.0 執行環境。
  2. Python 3.0+: 您需要安裝Python 3或更新版本。
  3. Pip:安裝 Python 包管理器 pip 以安裝 IronPDF 套件。

首先,讓我們在專案根目錄下建立一個 Python 文件來新增我們的腳本。在此範例中,我們使用 Visual Studio Code 作為程式碼編輯器。

打開 Visual Studio Code 並建立一個文件,pyjwtDemo.py。

安裝IronPDF程式庫:

:ProductInstall pip install ironpdf pyjwt
SHELL

然後新增下面的程式碼以演示如何使用 IronPDF 和 PyJWT Python 套件:

import jwt
from ironpdf import ChromePdfRenderer, License

# Apply your license key
License.LicenseKey = "your-license-key"

# Initialize HTML content to be converted into PDF
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2>Encoding a JWT</h2>"

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"  # Secret key for signing
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)  # Print the generated JWT

# Append details to the HTML content
content += f"<p>Message: {payload['Message']}</p>"
content += f"<p>Secret: {secret}</p>"
content += f"<p>Generated Token: {token}</p>"

# Decoding a JWT
content += "<h2>Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)  # Print the decoded payload

# Append decoded payload details to the HTML content
content += f"<p>Decoded Token: {decoded_payload}</p>"

# Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)

# Export PDF to a file
pdf.SaveAs("Demo-pyjwt.pdf")
Python

程式碼說明

此程式碼片段演示了如何使用 jwt (JSON Web Token) 庫和 IronPDF 一起建立一個包含JWTs編碼和解碼範例的 PDF 文件。

以下是每個程式碼組件功能的概述:

  1. 導入和授權金鑰設置:

導入 jwt 庫以實現 JSON Web Token 功能,並從 IronPDF 導入 ChromePdfRenderer 以生成 PDF。 設置 IronPDF 的授權金鑰,以啟用其功能。

  1. HTML 內容設置:

初始化 content 變數,將 HTML 標記包含在 PDF 檔案中,展示該流程中的不同步驟。

  1. 編碼 JWT:
  • 定義一個包含要編碼為 JWT 的資料的有效載荷字典 (payload)。 指定一個密鑰 (secret),用於使用 SHA-256 的 HMAC 演算法簽署 JWT (HS256)。
  • 使用 jwt.encode() 函式生成 JWT 令牌並列印出來。
  1. 解碼 JWT:
  • 新增HTML標記以展示 JWT 解碼。
  • 使用 與編碼時相同的暗碼和演算法來解碼先前生成的 JWT (token),使用 jwt.decode() 函式。
  1. PDF 生成:

它使用 ChromePdfRenderer 將 content HTML 字串渲染為 PDF 檔案,並將生成的 PDF 檔案儲存為 'Demo-pyjwt.pdf'。

此設置允許建立一個 PDF 文件,展示使用 JWTs 和 IronPDF 生成專業品質 PDF 的方法。

輸出

PyJWT Python (運作方式:開發者指南):圖 3 - 範例主控台輸出

PDF

PyJWT Python (運作方式:開發者指南):圖 4 - 利用 IronPDF 的範例 PDF 輸出

IronPDF 授權

IronPDF 提供一個 試用授權 金鑰,以便使用者在購買之前查閱其豐富功能。

請將授權金鑰放置在腳本開始處,然後再使用 IronPDF 套件:

from ironpdf import License

# Apply your license key
License.LicenseKey = "your-key"
Python

結論

PyJWT 是一個強大且靈活的庫,用於在 Python 中處理 JSON Web Tokens。 由於使用簡單,並支持多種演算法,它成為實作基於令牌的身份驗證和安全資訊交換的熱門選擇。 另一方面,IronPDF 是一個多功能且特性豐富的 PDF 生成庫,將以標準方式幫助記錄結果。 這兩個程式庫都可以為開發者提升技能而創造奇蹟。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預約您的免費即時演示
Booking Badge

全球數百萬工程師的信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起