Zum Fußzeileninhalt springen
PYTHON-HILFE

cryptography python (Wie es für Entwickler funktioniert)

Kryptografie ist wesentlich für die Sicherung von Daten und Kommunikation im digitalen Zeitalter. Dieses Paket, mit seinen umfangreichen Bibliotheken, macht die Implementierung kryptografischer Techniken unkompliziert. Eine der beliebtesten Bibliotheken für Kryptographie in Python ist das cryptography-Paket, das kryptographische Rezepte sowohl mit hoch- als auch niedrigstufigen Schnittstellen bietet. Später im Artikel werden wir uns auch eine vielseitige PDF-Generierungsbibliothek namens IronPDF von Iron Software ansehen.

Hauptmerkmale

  1. High-Level-Rezepte: Die Kryptographie umfasst eine High-Level-Kryptographierezeptschicht für gängige kryptographische Aufgaben wie symmetrische Verschlüsselung, symmetrische Chiffren, Message Digests und Schlüsselableitungsfunktionen. Die hochstufigen Rezepte zur symmetrischen Verschlüsselung helfen, komplexe Algorithmen schnell und einfach zu implementieren.
  2. Low-Level-Schnittstellen: Es bietet außerdem Low-Level-Schnittstellen zu kryptografischen Algorithmen, die eine feinere Steuerung und Anpassung ermöglichen.
  3. Symmetrische und asymmetrische Verschlüsselung: Die Bibliothek unterstützt gängige kryptografische Algorithmen, darunter sowohl symmetrische Verschlüsselungsalgorithmen (z. B. AES) als auch asymmetrische Verschlüsselungsalgorithmen (z. B. RSA).
  4. Kryptografische Primitive: Die Standardbibliothek für Kryptografie enthält kryptografische Rezepte und Primitive for Python-Entwickler, darunter Primitive für Hashing, Schlüsselerzeugung und Message Authentication Codes (MACs).
  5. Entwicklersupport: Entwickler können Problemberichte einreichen, und es gibt auch eine Mailingliste für Entwicklungsdiskussionen.

Installation

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

pip install cryptography
pip install cryptography
SHELL

Grundlegende Nutzung

Hier ist ein einfaches Beispiel, wie man die Kryptografie-Bibliothek für symmetrische Verschlüsselung mit dem Fernet-Modul verwendet:

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 generieren wir einen Schlüssel, verschlüsseln eine Nachricht und entschlüsseln sie dann mit dem Fernet-Modul.

Ausgabe

Kryptographie Python (Wie es für Entwickler funktioniert): Abbildung 1

Anwendungsfälle

  1. Datenverschlüsselung: Verschlüsseln Sie sensible Daten, bevor Sie sie in einer Datenbank speichern oder über ein Netzwerk übertragen.
  2. Sichere Kommunikation: Gewährleisten Sie, dass die zwischen den Parteien ausgetauschten Nachrichten vertraulich und manipulationssicher sind.
  3. Authentifizierung: Überprüfung der Integrität und Authentizität der Daten mithilfe kryptografischer Signaturen.

Einführung in IronPDF

Kryptographie Python (Wie es für Entwickler funktioniert): Abbildung 2 - IronPDF: Die Python-PDF-Bibliothek

IronPDF ist eine leistungsstarke Python-Bibliothek, die entwickelt wurde, um PDFs mit HTML, CSS, Bildern und JavaScript zu erstellen, zu bearbeiten und zu signieren, dank ihrer Unterstützung für moderne Webstandards. Sie bietet kommerzielle Leistung bei geringem Speicherbedarf. Hauptmerkmale sind:

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

Plattformübergreifende Unterstützung: IronPDF ist for Python 3+ entwickelt und läuft auch auf Windows, Mac, Linux oder Cloud-Plattformen.
IronPDF ist auch verfügbar in .NET, Java, Python und Node.js.

Bearbeiten und Signieren: Verwenden Sie IronPDF, um Eigenschaften einzustellen, Sicherheit mit Passwörtern und Berechtigungen hinzuzufügen und digitale Signaturen zu Ihren PDFs anzuwenden.

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

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

Installation

pip install ironpdf

PDF-Dokumente erzeugen mit IronPDF und Kryptografie.

Voraussetzungen

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

Zu Beginn erstellen wir eine Python-Datei, um unsere Skripte hinzuzufügen.

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

Notwendige Bibliotheken installieren:

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

Fügen Sie dann den untenstehenden Code hinzu, um die Verwendung der IronPDF- und Kryptografie-Python-Pakete 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-Erklärung

Dieses Codebeispiel zeigt, wie die cryptography-Bibliothek und das Fernet-Modul zur Verschlüsselung und Entschlüsselung von Nachrichten verwendet werden können, um dann ein PDF-Dokument mit IronPDF zu erzeugen. Hier eine Erklärung zu jedem Teil des Codes:

  1. Importe und Lizenzschlüssel-Einrichtung:

    • Importiert die Fernet-Klasse aus dem cryptography.fernet-Modul für Verschlüsselungs- und Entschlüsselungsfunktionalitäten.
    • Importiert ChromePdfRenderer und License von IronPDF für die PDF-Erzeugung.
    • Setzt den Lizenzschlüssel für IronPDF, um seine Funktionen zu aktivieren.
  2. HTML-Inhaltsvorbereitung: Initialisiert die content-Variable mit HTML-Markup, das im PDF-Dokument enthalten sein soll.

  3. Schlüssel generieren: Generiert einen neuen Schlüssel mit Fernet.generate_key() und erstellt ein Fernet-Chiffresuite-Objekt (cipher_suite) mit dem generierten Schlüssel. Schließt den generierten Schlüssel in den HTML-Inhalt ein.

  4. Nachricht verschlüsseln: Definiert eine Nachricht (message), die verschlüsselt werden soll (b"IronPDF is awesome"). Verschlüsselt die Nachricht mithilfe der cipher_suite.encrypt()-Methode und fügt den Geheimtext in den HTML-Inhalt ein.

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

  6. PDF-Erzeugung: Verwendet ChromePdfRenderer, um den content HTML-String in ein PDF-Dokument zu rendern. Speichert die erzeugte PDF-Datei als "Demo-cryptography.pdf".

Diese Einrichtung ermöglicht das Erstellen eines PDF-Dokuments, das die von der cryptography-Bibliothek bereitgestellten Verschlüsselungs- und Entschlüsselungsfunktionen zusammen mit den PDF-Erzeugungsfähigkeiten von IronPDF zeigt.

Ausgabe

Kryptographie Python (Wie es für Entwickler funktioniert): Abbildung 3

PDF

Kryptographie Python (Wie es für Entwickler funktioniert): Abbildung 4

IronPDF-Lizenz

IronPDF bietet einen Testlizenzschlüssel, um Benutzern die Möglichkeit zu geben, seine umfangreichen Funktionen vor dem Kauf auszuprobieren.

Platzieren Sie den Lizenzschlüssel zu Beginn 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 cryptography Bibliothek in Python ist ein leistungsstarkes Werkzeug zur Implementierung sicherer Datenverschlüsselung und -entschlüsselung. Ihre Benutzerfreundlichkeit und umfassenden Funktionen machen sie zu einer ausgezeichneten Wahl für Entwickler, die die Sicherheit ihrer Anwendungen verbessern möchten.

Auf der anderen Seite ist IronPDF eine vielseitige und funktionsreiche PDF-Generierungsbibliothek, die bei der standardisierten Dokumentation der Ergebnisse hilft. Beide Bibliotheken können Wunder für Entwickler wirken, 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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me