cryptography Python(開発者向けのしくみ)
暗号化は、デジタル時代におけるデータと通信を保護するために不可欠です。 このパッケージは、その広範なライブラリと共に、暗号技術の実装を簡単にします。 Pythonで最も人気のある暗号化用ライブラリの1つが、cryptographicなレシピを提供するcryptographyパッケージで、高レベルと低レベルの両方のインターフェースを持っています。 記事の後半では、IronPDFという万能なPDF生成ライブラリをIron Softwareからも取り上げます。
主要な特徴
1.高レベルのレシピ:暗号化には、対称暗号化、対称暗号、メッセージ ダイジェスト、キー導出関数などの一般的な暗号化タスク用の高レベルの暗号化レシピ レイヤーが含まれています。 高レベルの対称暗号化レシピは、複雑なアルゴリズムを迅速かつ簡単に実装するのに役立ちます。 2.低レベル インターフェース:暗号化アルゴリズムへの低レベル インターフェースも提供しており、よりきめ細かい制御とカスタマイズが可能になります。 3.対称暗号化と非対称暗号化:ライブラリは、対称暗号化 (AES など) と非対称暗号化 (RSA など) アルゴリズムの両方を含む一般的な暗号化アルゴリズムをサポートしています。 4.暗号化プリミティブ:暗号化標準ライブラリには、ハッシュ、キー導出、メッセージ認証コード (MAC) のプリミティブを含む、Python 開発者向けの暗号化レシピとプリミティブが含まれています。 5.開発者サポート:開発者は問題レポートを送信でき、開発に関するディスカッション用のメーリング リストも提供されます。
インストール
暗号化パッケージをインストールするには、pipを使用できます。
pip install cryptographypip install cryptography基本的な使用法
これは、Fernetモジュールを使用して対称暗号化を行うためのcryptographyライブラリの簡単な例です。
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)この例では、鍵を生成し、メッセージを暗号化し、Fernetモジュールを使用して復号化します。
出力
![]()
使用例
1.データ暗号化:機密データをデータベースに保存したり、ネットワーク経由で送信する前に暗号化します。 2.安全な通信:関係者間で交換されるメッセージが機密であり、改ざんされないことを保証します。 3.認証:暗号署名を使用してデータの整合性と信頼性を検証します。
IronPDFの紹介

IronPDFは、最新のウェブ標準のサポートにより、HTML、CSS、画像、JavaScriptを使用してPDFを作成、編集、署名できる強力なPythonライブラリです。 低メモリフットプリントながら商用グレードのパフォーマンスを備えています。 主な機能は以下のとおりです:
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/AおよびPDF/UAを含むPDF標準に準拠しており、UTF-8文字エンコーディングをサポートし、画像、CSS、フォントなどのアセットを管理します。
インストール
pip install ironpdf
IronPDFと暗号化を使用してPDFドキュメントを生成します。
前提条件
- Visual Studio Codeがインストールされていることを確認します
- Pythonバージョン3がインストールされています。
まず、スクリプトを追加するPythonファイルを作成してください。
Visual Studio Codeを開き、ファイルcryptographyDemo.pyを作成します。
必要なライブラリをインストール:
pip install cryptography
pip install ironpdfpip install cryptography
pip install ironpdfその後、IronPDFと暗号化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")コードの説明
このコードスニペットは、メッセージの暗号化と復号化を実行するためのcryptographyライブラリのFernetモジュールの使用方法を示し、その後IronPDFを使用してPDFドキュメントを生成します。 コードの各部分の説明は次のとおりです。
1.インポートとライセンスキーの設定:
- 暗号化および復号化機能のために、
cryptography.fernetモジュールからFernetクラスをインポートします。 - PDF生成のためにIronPDFから
ChromePdfRendererとLicenseをインポートします。 - IronPDFの機能を有効にするためにライセンスキーを設定します。
- HTML コンテンツのセットアップ: PDF ドキュメントに含める HTML マークアップを使用して
content変数を初期化します。
3.キーの生成: Fernet.generate_key()を使用して新しいキーを生成し、生成されたキーを使用してFernet暗号スイート オブジェクト ( cipher_suite ) を作成します。 生成されたキーをHTMLコンテンツに含めます。
4.メッセージを暗号化する:暗号化するメッセージ ( message ) を定義します ( b"IronPDF is awesome" )。 cipher_suite.encrypt()メソッドを使用してメッセージを暗号化し、暗号文をHTMLコンテンツに含めます。
5.メッセージを復号化する: cipher_suite.decrypt()を使用して暗号化されたcipher_textを復号化し、復号化されたプレーン テキストを HTML コンテンツに含めます。
- PDF 生成:
ChromePdfRendererを使用して、contentHTML 文字列を PDF ドキュメントにレンダリングします。 生成されたPDFファイルを"Demo-cryptography.pdf"として保存します。
このセットアップにより、IronPDFのPDF生成機能と一緒に、cryptographyライブラリの暗号化および復号化機能を紹介するPDFドキュメントを作成できます。
出力


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"結論
cryptographyライブラリは、Pythonにおいて安全なデータの暗号化と復号化を実装するための強力なツールです。 その使いやすさと包括的な機能は、アプリケーションのセキュリティを向上させたい開発者にとって優れた選択肢です。
一方で、IronPDFは、多用途で機能豊富なPDF生成ライブラリで、結果を標準的な方法で文書化するのに役立ちます。 これらの両方のライブラリは、開発者がスキルセットを向上させるために素晴らしい成果を上げることができます。










