PyJWT Python(開發者指南)
在 Python 函式庫中, PyJWT是最受歡迎的 Python 函式庫,它提供了一種在 Python 專案中對 JSON Web Tokens (JWT) 進行編碼和解碼的便捷方法。 JWT 是一種緊湊、URL 安全的方式,用於表示要在兩方之間傳輸的聲明。 PyJWT 套件簡化了 Python 中 JSON Web Token 的實作。 JWT令牌廣泛用於Web應用程式中的身份驗證和資訊交換。 該軟體包擁有豐富的線上文檔,可為開發人員提供支援。 本文中,我們也將介紹IronSoftware公司的IronPDF ,以便稍後產生 PDF 文件。
主要特點
- JWT 編碼和解碼: PyJWT 允許您輕鬆地對 JWT 進行編碼和解碼。 你可以使用金鑰和演算法對有效載荷進行編碼來建立令牌,之後再對其進行解碼以驗證有效載荷。 2.支援多種演算法: PyJWT 支援多種用於簽署令牌的演算法,包括 HMAC(HS256、HS384、HS512)和 RSA(RS256、RS384、RS512)。 它支援對稱演算法和非對稱演算法。 3.聲明驗證:此程式庫提供內建支持,用於驗證標準聲明,例如 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。 然後我們對令牌進行解碼,以恢復原始有效載荷。
輸出

用例
1.身份驗證: JWT 通常用於 Web 應用程式中的身份驗證。 使用者登入後,伺服器產生 JWT 並將簽名令牌傳回給客戶端。 客戶端可以使用此令牌驗證使用者身份,並將該令牌包含在後續請求中。 2.資訊交換:各方可以使用 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 渲染器將網頁渲染為 PDF 。
跨平台支援
IronPDF專為 Python 3+ 版本設計,可在 Windows、Mac、Linux 或雲端平台上運作。
IronPDF也提供.NET 、 Java 、 Python和Node.js版本。
編輯和簽署
使用者可以使用IronPDF設定屬性、新增密碼和權限等安全措施,以及對 PDF 應用數位簽章。
頁面模板和設置
IronPDF可讓您使用頁首、頁尾、頁碼和可調整的邊距自訂 PDF 文件。 它還支援響應式佈局和自訂紙張尺寸。
標準合規性
IronPDF軟體包符合 PDF/A 和 PDF/UA 等 PDF 標準。 它支援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庫:
pip install ironpdf
pip install pyjwtpip install ironpdf
pip install 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來建立包含 JWT 編碼和解碼範例的 PDF 文件。
以下是各程式碼組件的功能概述: 1.導入和許可證密鑰設定:
導入 jwt 庫以實現 JSON Web Token 功能,並從IronPDF導入 ChromePdfRenderer 以產生 PDF。 設定IronPDF的許可證密鑰以啟用其功能。
HTML 內容設定:
使用 HTML 標記初始化
content變量,以便將其包含在 PDF 文件中,從而說明該過程中的不同步驟。
3.對 JWT 進行編碼:
- 定義一個有效載荷字典,其中包含要編碼到 JWT 中的資料(
payload)。 - 指定一個用於使用 SHA-256 (
HS256) 和 HMAC 演算法對 JWT 進行簽署的金鑰 (secret)。 - 使用
jwt.encode()函數產生 JWT 令牌並列印出來。
4.解碼 JWT:
- 新增 HTML 標記以示範 JWT 解碼。
- 使用與編碼時相同的金鑰和演算法,透過
jwt.decode()函數解碼先前產生的 JWT (token)。
PDF 生成:
- 它使用
ChromePdfRenderer將contentHTML 字串渲染成 PDF 文檔,並將生成的 PDF 文件儲存為"Demo-pyjwt.pdf"。
- 它使用
此設定允許建立 PDF 文檔,展示如何使用 JWT 和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。 由於其易用性和對各種演算法的支持,它成為在 Web 應用程式中實現基於令牌的身份驗證和安全資訊交換的熱門選擇。 另一方面, IronPDF是一個功能豐富且用途廣泛的 PDF 生成庫,它可以幫助以標準的方式記錄結果。 這兩個函式庫都能大大幫助開發者提陞技能。










