PyJWT Python(開發者指南)
在 Python 程式庫中,PyJWT 是最受歡迎的 Python 庫,它為在 Python 專案中編碼和解碼 JSON Web Tokens (JWTs) 提供了一種方便的方法。 JWT 是一種緊湊且 URL 安全的方式來表示在兩方之間傳輸的聲明。 PyJWT 套件簡化了在 Python 中的 JSON 網頁令牌實作。 JWT 令牌在網路應用中廣泛用於身份驗證和資訊交換。 該套件在網路上有豐富的文件來支持開發者。 在本文中,我們還將探討來自 Iron Software 的 IronPDF,以便後續生成 PDF 文件。
關鍵特性
- JWT編碼和解碼:PyJWT 讓您輕鬆地編碼和解碼 JWT。 您可以透過用秘密金鑰和演算法編碼有效載荷來建立令牌,然後解碼它以驗證有效載荷。
- 支持多種算法:PyJWT 支持多種簽署令牌的算法,包括 HMAC (HS256、HS384、HS512) 和 RSA (RS256、RS384、RS512)。 它支持對稱和非對稱算法。
- 聲明驗證:該庫提供內建支持來驗證標準聲明,如 iss(發行者)、sub(主題)、aud(受眾)和 exp(過期時間),幫助實現安全的基於令牌的認證。
安裝
要安裝 PyJWT,您可以使用 pip:
pip install pyjwtpip install pyjwt為了獲得額外的加密支持,您可以用 crypto 選項安裝它:
pip install pyjwt[crypto]pip install pyjwt[crypto]基本用法
這是一個如何在 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)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)在這個例子中,我們使用 HS256 演算法,使用秘密金鑰編碼有效載荷來建立 JWT。 然後,我們解碼該令牌以檢索原始有效載荷。
輸出
![]()
使用範例
- 身份驗證:JWT 通常用於網路應用中的身份驗證。 使用者登入後,伺服器生成 JWT 並將簽名的令牌返回給客戶端。 客戶端可以使用此令牌驗證使用者身份,並在後續請求中包含該令牌。
- 資訊交換:雙方可以使用 JWT 安全地傳輸資訊。 有效載荷可以包含任何資料; 令牌的簽名確保其完整性。
介紹 IronPDF

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 先決條件
- IronPDF 使用 .NET 6.0 作為其底層技術。 因此,請確保您的系統上已安裝了 .NET 6.0 執行環境。
- Python 3.0+: 您需要安裝Python 3或更新版本。
- Pip:安裝 Python 包管理器 pip 以安裝 IronPDF 套件。
首先,讓我們在專案根目錄下建立一個 Python 文件來新增我們的腳本。在此範例中,我們使用 Visual Studio Code 作為程式碼編輯器。
打開 Visual Studio Code 並建立一個文件,pyjwtDemo.py。
安裝IronPDF程式庫:
:ProductInstall pip install ironpdf pyjwt:ProductInstall pip install ironpdf pyjwt然後新增下面的程式碼以演示如何使用 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")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")程式碼說明
此程式碼片段演示了如何使用 jwt (JSON Web Token) 庫和 IronPDF 一起建立一個包含JWTs編碼和解碼範例的 PDF 文件。
以下是每個程式碼組件功能的概述:
- 導入和授權金鑰設置:
導入 jwt 庫以實現 JSON Web Token 功能,並從 IronPDF 導入 ChromePdfRenderer 以生成 PDF。 設置 IronPDF 的授權金鑰,以啟用其功能。
- HTML 內容設置:
初始化 content 變數,將 HTML 標記包含在 PDF 檔案中,展示該流程中的不同步驟。
- 編碼 JWT:
- 定義一個包含要編碼為 JWT 的資料的有效載荷字典 (
payload)。 指定一個密鑰 (secret),用於使用 SHA-256 的 HMAC 演算法簽署 JWT (HS256)。 - 使用
jwt.encode()函式生成 JWT 令牌並列印出來。
- 解碼 JWT:
- 新增HTML標記以展示 JWT 解碼。
- 使用 與編碼時相同的暗碼和演算法來解碼先前生成的 JWT (
token),使用jwt.decode()函式。
- PDF 生成:
它使用 ChromePdfRenderer 將 content HTML 字串渲染為 PDF 檔案,並將生成的 PDF 檔案儲存為 'Demo-pyjwt.pdf'。
此設置允許建立一個 PDF 文件,展示使用 JWTs 和 IronPDF 生成專業品質 PDF 的方法。
輸出


IronPDF 授權

IronPDF 提供一個 試用授權 金鑰,以便使用者在購買之前查閱其豐富功能。
請將授權金鑰放置在腳本開始處,然後再使用 IronPDF 套件:
from ironpdf import License
# Apply your license key
License.LicenseKey = "your-key"from ironpdf import License
# Apply your license key
License.LicenseKey = "your-key"結論
PyJWT 是一個強大且靈活的庫,用於在 Python 中處理 JSON Web Tokens。 由於使用簡單,並支持多種演算法,它成為實作基於令牌的身份驗證和安全資訊交換的熱門選擇。 另一方面,IronPDF 是一個多功能且特性豐富的 PDF 生成庫,將以標準方式幫助記錄結果。 這兩個程式庫都可以為開發者提升技能而創造奇蹟。










