跳過到頁腳內容
PYTHON 說明

密碼學 Python (How It Works For Developers)

在數位時代,密碼學對於保障資料和通訊安全至關重要。 該軟體包及其豐富的庫,使得實現加密技術變得簡單易行。 Python 中最受歡迎的密碼學函式庫之一是cryptography套件,它提供了具有進階和低階介面的密碼學方法。 本文稍後也將介紹Iron Software公司出品的一款名為IronPDF的多功能PDF生成庫。

主要功能

1.高階配方:密碼學包含一個高階密碼配方層,用於常見的密碼任務,例如對稱加密、對稱密碼、訊息摘要和金鑰衍生函數。 高級對稱加密方案有助於以簡單的方式快速實現複雜的演算法。 2.底層接口:它還提供了加密演算法的底層接口,從而可以進行更精細的控制和自訂。 3.對稱加密和非對稱加密:此函式庫支援常見的加密演算法,包括對稱加密(例如 AES)和非對稱加密(例如 RSA)演算法。 4.加密原語:加密標準函式庫包含 Python 開發人員可以使用的加密方法和原語,其中包括雜湊、金鑰派生和訊息認證碼 (MAC) 的原語。 5.開發者支援:開發者可以提交問題報告,也提供郵件清單進行開發討論。

安裝

要安裝 cryptography 套件,可以使用 pip:

pip install cryptography
pip install cryptography
SHELL

基本用法

以下是一個使用 Fernet 模組進行對稱加密的簡單範例:

from cryptography.fernet import Fernet

# Generate a key
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# Encrypt a message
message = b"IronPDF is awesome"  # This must be a really secret message
cipher_text = cipher_suite.encrypt(message)
print(cipher_text)

# Decrypt the message
plain_text = cipher_suite.decrypt(cipher_text)
print(plain_text)
from cryptography.fernet import Fernet

# Generate a key
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# Encrypt a message
message = b"IronPDF is awesome"  # This must be a really secret message
cipher_text = cipher_suite.encrypt(message)
print(cipher_text)

# Decrypt the message
plain_text = cipher_suite.decrypt(cipher_text)
print(plain_text)
PYTHON

在這個例子中,我們產生一個金鑰,加密一條訊息,然後使用 Fernet 模組對其進行解密。

輸出

Python 加密(開發者使用指南):圖 1

使用案例

1.資料加密:在將敏感資料儲存到資料庫或透過網路傳輸之前對其進行加密。 2.安全通訊:確保雙方交換的資訊是保密的且不可竄改的。 3.身份驗證:使用加密簽章驗證資料的完整性和真實性。

介紹 IronPDF。

Python 加密(開發者使用方法):圖 2 - IronPDF:Python PDF 庫

IronPDF是一個功能強大的 Python 庫,它支援現代 Web 標準,因此可以使用 HTML、CSS、圖像和 JavaScript 來建立、編輯和簽署 PDF 文件。 它提供商業級的效能與低記憶體佔用量。 主要功能包括

HTML 轉 PDF:
IronPDF 可以將 HTML 檔案、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁渲染為 PDF。

跨平台支援:
IronPDF 專為 Python 3+ 設計,也可在 Windows、Mac、Linux 或雲端平台上運作。
IronPDF 也提供.NETJavaPythonNode.js版本。

編輯和簽署:
使用 IronPDF 設定屬性、透過密碼和權限添加安全性,並將數位簽章套用至 PDF 檔案。

頁面範本和設定:
使用 IronPDF,您可以自訂 PDF,包括新增頁首、頁尾、頁碼和可調整的邊距。 它還支援自訂紙張尺寸和響應式佈局。

標準符合性:
IronPDF 符合 PDF 標準,包括 PDF/A 和 PDF/UA,支援 UTF-8 字元編碼,並管理影像、CSS 和字體等資源。

安裝

pip install ironpdf

使用 IronPDF 和加密技術產生 PDF 文件。

先決條件

  1. 確保已安裝 Visual Studio Code
  2. 已安裝 Python 版本 3

首先,讓我們建立一個 Python 檔案來加入我們的腳本。

開啟 Visual Studio Code 並建立一個名為cryptographyDemo.py的檔案。

安裝必要的庫:

pip install cryptography
pip install ironpdf
pip install cryptography
pip install ironpdf
SHELL

然後加入以下程式碼來示範 IronPDF 和 cryptography Python 套件的用法:

from cryptography.fernet import Fernet
from ironpdf import ChromePdfRenderer, License

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

# Create a PDF from an HTML string using Python
content = "<h1>Awesome IronPDF with Cryptography</h1>"

# Generate a key
content += "<h2>Generate a key</h2>"
key = Fernet.generate_key()
cipher_suite = Fernet(key)
content += "<p>Fernet.generate_key() = " + str(key) + "</p>"

# Encrypt a message
content += "<h2>Encrypt a message</h2>"
message = b"IronPDF is awesome"
cipher_text = cipher_suite.encrypt(message)
content += "<p>cipher_suite.encrypt(message)</p>"
content += "<p>" + str(cipher_text) + "</p>"

# Decrypt the message
content += "<h2>Decrypt the message</h2>"
plain_text = cipher_suite.decrypt(cipher_text)
content += "<p>cipher_suite.decrypt(cipher_text)</p>"
content += "<p>" + plain_text.decode() + "</p>"

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

# Export to a file or Stream
pdf.SaveAs("Demo-cryptography.pdf")
from cryptography.fernet import Fernet
from ironpdf import ChromePdfRenderer, License

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

# Create a PDF from an HTML string using Python
content = "<h1>Awesome IronPDF with Cryptography</h1>"

# Generate a key
content += "<h2>Generate a key</h2>"
key = Fernet.generate_key()
cipher_suite = Fernet(key)
content += "<p>Fernet.generate_key() = " + str(key) + "</p>"

# Encrypt a message
content += "<h2>Encrypt a message</h2>"
message = b"IronPDF is awesome"
cipher_text = cipher_suite.encrypt(message)
content += "<p>cipher_suite.encrypt(message)</p>"
content += "<p>" + str(cipher_text) + "</p>"

# Decrypt the message
content += "<h2>Decrypt the message</h2>"
plain_text = cipher_suite.decrypt(cipher_text)
content += "<p>cipher_suite.decrypt(cipher_text)</p>"
content += "<p>" + plain_text.decode() + "</p>"

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

# Export to a file or Stream
pdf.SaveAs("Demo-cryptography.pdf")
PYTHON

程式碼解釋

此程式碼片段示範如何使用cryptography庫的Fernet模組對訊息進行加密和解密,然後使用 IronPDF 產生 PDF 文件。 以下是對程式碼各部分的解釋:

1.導入和許可證密鑰設定

  • cryptography.fernet模組導入Fernet類,以實現加密和解密功能。
  • 從 IronPDF 匯入ChromePdfRendererLicense以產生 PDF。
  • 設定 IronPDF 的許可證密鑰以啟用其功能。
  1. HTML 內容設定:使用要包含在 PDF 文件中的 HTML 標記初始化content變數。

3.產生金鑰:使用Fernet.generate_key()產生新金鑰,並使用產生的金鑰建立Fernet密碼套件物件 ( cipher_suite )。 將產生的金鑰包含在 HTML 內容中。

4.加密訊息:定義要加密的訊息( message )( b&quot;IronPDF is awesome&quot; )。 使用cipher_suite.encrypt()方法加密訊息,並將密文包含在 HTML 內容中。

5.解密訊息:使用cipher_suite.decrypt()解密加密的cipher_text ,並將解密的明文包含在 HTML 內容中。

  1. PDF 產生:使用ChromePdfRenderercontent HTML 字串渲染成 PDF 文件。 將產生的 PDF 檔案儲存為"Demo-cryptography.pdf"。

此設定允許建立 PDF 文檔,以展示cryptography庫提供的加密和解密功能,並結合 IronPDF 的 PDF 生成功能。

輸出

Python 加密(開發者使用方法):圖 3

PDF

Python 加密(開發者使用方法):圖 4

IronPDF 授權。

IronPDF提供試用許可證金鑰,使用戶能夠在購買前體驗其豐富的功能。

在使用IronPDF 軟體包之前,請將許可證密鑰放在腳本的開頭:

from ironpdf import License

# Apply your license key
License.LicenseKey = "key"
from ironpdf import License

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

結論

Python 中的加密庫是一個強大的工具,可用於實現安全的資料加密和解密。 它易於使用且功能全面,對於希望增強應用程式安全性的開發人員來說,是一個絕佳的選擇。

另一方面, IronPDF是一個功能豐富且用途廣泛的 PDF 生成庫,它可以幫助以標準的方式記錄結果。 這兩個函式庫都能大大幫助開發者提陞技能。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。