PYTHON 幫助

加密 Python(它的工作原理對於開發人員)

發佈 2024年8月13日
分享:

介紹

密碼學在數位時代中,對於保護資料和通信至關重要。 此套件附帶豐富的程式庫,使得實作加密技術變得簡單。 在 Python 中,最受欢迎的加密库之一是 cryptography 包,它提供高层次和低层次的加密方案。在本文的后面,我們還將探討一個功能多樣的 PDF 生成庫,名為IronPDFIron Software.

主要功能

  1. 高級配方:加密包括一個高級加密配方層,用於常見的加密任務,例如對稱加密、對稱密碼、訊息摘要和密鑰衍生函數。 高級對稱加密方案有助於快速且簡單地實現複雜的算法。

  2. 低階介面:它還提供了加密演算法的低階介面,允許進行更細緻的控制和自訂化。

  3. 對稱和非對稱加密:資料庫支持常見的加密算法,包含對稱加密方法的算法。(例如,AES),以及非對稱(例如,RSA)加密算法。

  4. 加密原語:密碼學標準庫為 Python 開發人員提供加密方案和原語,其中包括用於雜湊、密鑰派生和消息認證碼的原語。(MACs).

  5. 開發者支援: 開發者可以提交問題報告,並且還提供一個郵件列表供開發討論。

安裝

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

pip install cryptography

基本用法

以下是一個使用密碼學庫中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 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 庫,專為使用 HTML、CSS、圖像和 JavaScript 來創建、編輯和簽署 PDF 文件而設計,得益於其對現代網頁標準的支持。 它提供商用級性能且佔用較低的記憶體資源。 主要功能包括:

HTML 轉換為 PDF:

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

跨平台支持:

IronPDF 專為 Python 3+ 設計,並可在 Windows、Mac、Linux 或雲端平台上運行。

IronPDF 也有提供.NET, Java, Python,和Node.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

然後添加下面的代碼來演示 IronPDF 和加密 Python 包的使用

from cryptography.fernet import Fernet
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your key"
# Create a PDF from a 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(Fernet.generate_key())+"</p>"
content += "<p>Fernet(key) cipher = "+str(cipher_suite)+"</p>"
# Encrypt a message
content += "<h2> Encrypt a message</h2>"
message = b"IronPDF is awesome"
cipher_text = cipher_suite.encrypt(message)
print(cipher_text)
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)
print(plain_text)
content += "<p>cipher_suite.decrypt(cipher_text)</p>"
content += "<p>"+str(plain_text)+"</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 匯入 `ChromePdfRenderer` 以進行 PDF 生成。 設置 IronPDF 的許可密鑰以啟用其功能。

  2. HTML內容設置:初始化content變數,將其與要包含在PDF文檔中的HTML標記一起使用。3. 生成密鑰:使用Fernet.generate_key生成一個新密鑰。()並創建一個Fernet密碼套件對象(cipher_suite)使用生成的密鑰。 列印生成的密鑰和密碼套件物件。

  3. 加密消息:定義消息(訊息)加密(`b"IronPDF 很棒"`). 使用 `cipher_suite.encrypt` 加密消息()` 方法並打印密文。5. 解密訊息:添加 HTML 標記以展示訊息解密。 使用cipher_suite.decrypt解密加密的cipher_text。()` 並打印解密的純文字。

  4. PDF 生成:使用 `ChromePdfRenderer` 將 `content` HTML 字串渲染成 PDF 文件。 將生成的 PDF 文件保存為 "Demo-cryptography.pdf"。

    此設置允許創建一個 PDF 文件,展示由 `cryptography` 庫提供的加密和解密功能,結合 IronPDF 的 PDF 生成能力。

輸出

加密 Python(對開發人員的運作方式):圖 3

PDF

密碼學 Python(開發者如何使用):圖4

IronPDF 授權

IronPDF授權密鑰允許用戶在購買前試用其豐富的功能。

在使用前,將授權金鑰放置於腳本的開始處。IronPDF 套件:

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

結論

密碼學在 Python 中的函式庫是一個強大的工具,用於實現安全的數據加密和解密。 其易用性和全面的功能使其成為希望增強應用程式安全性的開發人員的絕佳選擇。

另一方面,IronPDF是一個多功能且功能豐富的 PDF 生成庫,能夠以標準化的方式幫助記錄結果。 這兩個函式庫都可以為開發人員帶來奇蹟,提升他們的技能。

< 上一頁
pyarrow(開發人員的運作方式)
下一個 >
Dask Python(對開發者的運作方式)

準備開始了嗎? 版本: 2024.11.1 剛剛發布

免費 pip 安裝 查看許可證 >