Zum Fußzeileninhalt springen
PYTHON-HILFE

cryptography python (Wie es für Entwickler funktioniert)

Kryptographie ist für die Sicherung von Daten und Kommunikation im digitalen Zeitalter unerlässlich. Dieses Paket mit seinen umfangreichen Bibliotheken macht die Implementierung kryptografischer Techniken einfach. Eine der beliebtesten Bibliotheken für Kryptografie in Python ist das Kryptografie-Paket, das kryptografische Rezepte mit High-Level- und Low-Level-Schnittstellen bietet. Later in the article, we will also look into a versatile PDF generation library called IronPDF from Iron Software.

Wichtige Merkmale

  1. Hochstufige Rezepte: Cryptography enthält eine übergeordnete kryptografische Rezeptebene für gängige kryptografische Aufgaben, wie symmetrische Verschlüsselung, symmetrische Chiffren, Message Digests und Schlüsselableitungsfunktionen. Die Rezepte zur symmetrischen Verschlüsselung auf hohem Niveau helfen, komplexe Algorithmen schnell und einfach zu implementieren.
  2. Low-Level-Schnittstellen: Es bietet auch Low-Level-Schnittstellen zu kryptografischen Algorithmen, die eine genauere Steuerung und Anpassung ermöglichen.
  3. Symmetrische und asymmetrische Verschlüsselung: Die Bibliothek unterstützt gängige kryptografische Algorithmen, darunter sowohl symmetrische Verschlüsselung (z. B. AES) als auch asymmetrische Verschlüsselung (z. B. RSA).
  4. Kryptografische Primitive: Die kryptografische Standardbibliothek enthält kryptografische Rezepte und Primitive für Python-Entwickler, darunter Primitive für Hashing, Schlüsselableitung und Nachrichtenauthentifizierungscodes (MACs).
  5. Entwicklerunterstützung: Entwickler können Problemberichte einreichen, und es wird auch eine Mailingliste für Entwicklungsdiskussionen angeboten.

Installation

Um das Kryptographie-Paket zu installieren, können Sie pip verwenden:

pip install cryptography
pip install cryptography
SHELL

Grundlegende Verwendung

Hier ist ein einfaches Beispiel für die Verwendung der Kryptographie-Bibliothek für symmetrische Verschlüsselung mit dem Fernet-Modul:

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

In diesem Beispiel erzeugen wir einen Schlüssel, verschlüsseln eine Nachricht und entschlüsseln sie dann mit dem Fernet-Modul.

Ausgabe

Cryptography Python (How It Works For Developers): Abbildung 1

Benutzungsfälle

  1. Datenverschlüsselung: Verschlüsseln Sie sensible Daten, bevor Sie sie in einer Datenbank speichern oder über ein Netzwerk übertragen.
  2. Sichere Kommunikation: Sicherstellen, dass die zwischen den Parteien ausgetauschten Nachrichten vertraulich und fälschungssicher sind.
  3. Authentifizierung: Überprüfen Sie die Integrität und Authentizität von Daten mit kryptografischen Signaturen.

Einführung in IronPDF

Cryptography Python (How It Works For Developers): Abbildung 2 - IronPDF: Die Python-PDF-Bibliothek

IronPDF ist eine leistungsstarke Python-Bibliothek zum Erstellen, Bearbeiten und Signieren von PDFs mit HTML, CSS, Bildern und JavaScript dank der Unterstützung moderner Webstandards. Sie bietet eine kommerzielle Leistung mit geringem Speicherbedarf. Hauptmerkmale sind:

HTML zu PDF Konvertierung: IronPDF kann HTML-Dateien, HTML-Strings und URLs in PDFs konvertieren. Beispielsweise eine Webseite mithilfe des Chrome-PDF-Renderers als PDF rendern.

Plattformübergreifende Unterstützung: IronPDF wurde für Python 3+ entwickelt und läuft auch auf Windows-, Mac-, Linux- oder Cloud-Plattformen.
IronPDF is also available in .NET, Java, Python, and Node.js.

Bearbeiten und Signieren: Mit IronPDF können Sie Eigenschaften festlegen, die Sicherheit mit Passwörtern und Berechtigungen erhöhen und digitale Signaturen auf Ihre PDFs anwenden.

Seitenvorlagen und Einstellungen: Mit IronPDF können Sie PDFs mit Kopf- und Fußzeilen, Seitenzahlen und einstellbaren Rändern anpassen. Sie unterstützt außerdem benutzerdefinierte Papiergrößen und responsive Layouts.

Einhaltung von Normen: IronPDF entspricht den PDF-Standards, einschließlich PDF/A und PDF/UA, unterstützt die Zeichenkodierung UTF-8 und verwaltet Assets wie Bilder, CSS und Schriftarten.

Installation

pip install ironpdf

Erzeugen von PDF-Dokumenten mit IronPDF und Kryptographie

Voraussetzungen

  1. Stellen Sie sicher, dass Visual Studio Code installiert ist
  2. Python Version 3 ist installiert

Lassen Sie uns zunächst eine Python-Datei erstellen, um unsere Skripte hinzuzufügen.

Öffnen Sie Visual Studio Code und erstellen Sie eine Datei, cryptographyDemo.py.

Installieren Sie die erforderlichen Bibliotheken:

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

Fügen Sie dann den folgenden Code ein, um die Verwendung von IronPDF und Kryptographie-Python-Paketen zu demonstrieren:

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

Code-Erläuterung

Dieser Codeschnipsel zeigt, wie das Fernet-Modul der Cryptography-Bibliothek verwendet wird, um Nachrichten zu ver- und entschlüsseln und anschließend ein PDF-Dokument mit IronPDF zu erzeugen. Hier ist eine Erklärung für jeden Teil des Codes:

  1. Importieren und Lizenzschlüssel einrichten:

    • Importiert die Fernet-Klasse aus dem cryptography.fernet-Modul für Ver- und Entschlüsselungsfunktionen.
    • Importiert ChromePdfRenderer und License von IronPDF zur PDF-Erzeugung.
    • Legt den Lizenzschlüssel für IronPDF fest, um dessen Funktionen zu aktivieren.
  2. HTML Content Setup: Initialisiert die Variable content mit HTML-Markup, das in das PDF-Dokument eingefügt werden soll.

  3. Schlüssel generieren: Erzeugt einen neuen Schlüssel mit Fernet.generate_key() und erstellt ein Fernet cipher suite Objekt (cipher_suite) mit dem erzeugten Schlüssel. Der generierte Schlüssel wird in den HTML-Inhalt aufgenommen.

  4. Verschlüsseln einer Nachricht: Definiert eine Nachricht (Nachricht), die verschlüsselt werden soll (b "IronPDF ist großartig"). Verschlüsselt die Nachricht mit der Methode cipher_suite.encrypt() und fügt den Chiffriertext in den HTML-Inhalt ein.

  5. Entschlüsseln einer Nachricht: Entschlüsselt den verschlüsselten cipher_text mit cipher_suite.decrypt() und fügt den entschlüsselten Klartext in den HTML-Inhalt ein.

  6. PDF-Erstellung: Verwendet ChromePdfRenderer, um den Inhalt der HTML-Zeichenkette in ein PDF-Dokument zu übertragen. Speichert die generierte PDF-Datei unter dem Namen "Demo-cryptography.pdf".

Dieses Setup ermöglicht die Erstellung eines PDF-Dokuments, das die Ver- und Entschlüsselungsfunktionen der Kryptografie-Bibliothek in Kombination mit den PDF-Erzeugungsfunktionen von IronPDF vorstellt.

Ausgabe

Cryptography Python (How It Works For Developers): Abbildung 3

PDF

Cryptography Python (How It Works For Developers): Abbildung 4

IronPDF Lizenz

IronPDF bietet einen Testlizenzschlüssel, mit dem Benutzer die umfangreichen Funktionen vor dem Kauf ausprobieren können.

Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor Sie das IronPDF-Paket verwenden:

from ironpdf import License

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

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

Abschluss

Die Kryptographie-Bibliothek in Python ist ein leistungsfähiges Werkzeug für die Implementierung sicherer Datenverschlüsselung und -entschlüsselung. Die Benutzerfreundlichkeit und die umfassenden Funktionen machen es zu einer hervorragenden Wahl für Entwickler, die die Sicherheit ihrer Anwendungen verbessern möchten.

Auf der anderen Seite ist IronPDF eine vielseitige und funktionsreiche Bibliothek zur PDF-Erzeugung, die dabei hilft, die Ergebnisse auf standardisierte Weise zu dokumentieren. Diese beiden Bibliotheken können für Entwickler Wunder bewirken, um ihre Fähigkeiten zu verbessern.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen