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 Kryptografie in Python ist das cryptography Paket, das kryptografische Rezepte sowohl mit hoch- als auch mit niedrigstufigen Schnittstellen bietet. Später im Artikel werden wir uns auch eine vielseitige PDF-Generierungsbibliothek namens IronPDF von Iron Software ansehen.

Hauptmerkmale

  1. Hochstufige Rezepte: Kryptografie umfasst eine hochstufige kryptografische Rezeptsammlung für gängige kryptografische Aufgaben wie symmetrische Verschlüsselung, symmetrische Chiffren, Nachrichtenfassungen und Schlüsselableitungsfunktionen. Die hochstufigen Rezepte zur symmetrischen Verschlüsselung helfen, komplexe Algorithmen schnell und einfach zu implementieren.
  2. Niedrigstufige Schnittstellen: Es bietet auch niedrigstufige Schnittstellen zu kryptografischen Algorithmen, die eine feinere Kontrolle und Anpassung ermöglichen.
  3. Symmetrische und Asymmetrische Verschlüsselung: Die Bibliothek unterstützt gängige kryptografische Algorithmen einschließlich symmetrischer Verschlüsselung (z.B. AES) und asymmetrischer Verschlüsselung (z.B. RSA).
  4. Kryptografische Primitive: Die kryptografische Standardbibliothek bietet kryptografische Rezepte und Primitive für Python-Entwickler, die Primitive für Hashing, Schlüsselableitung und Nachrichtenauthentifizierungscodes (MACs) beinhalten.
  5. Entwicklerunterstützung: Entwickler können Problemmeldungen einreichen, und es wird auch eine Mailingliste für Entwicklungsdiskussionen angeboten.

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

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

Anwendungsfälle

  1. Datensicherung: Verschlüsseln Sie sensible Daten, bevor Sie sie in einer Datenbank speichern oder über ein Netzwerk übertragen.
  2. Sichere Kommunikation: Stellen Sie sicher, dass Nachrichten, die zwischen Parteien ausgetauscht werden, vertraulich und manipulationssicher sind.
  3. Authentifizierung: Überprüfen Sie die Integrität und Authentizität von Daten mit kryptografischen Signaturen.

Einführung in IronPDF

Kryptografie 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 für 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 man das cryptography-Bibliothek Fernet-Modul verwendet, um Nachrichten zu verschlüsseln und zu entschlüsseln und dann ein PDF-Dokument mit IronPDF zu generieren. Hier eine Erklärung zu jedem Teil des Codes:

  1. Importe und Lizenzschlüsselerstellung:

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

  3. Einen Schlüssel generieren: Generiert einen neuen Schlüssel mit Fernet.generate_key() und erstellt ein Fernet Chiffre-Suite-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 mit der Methode cipher_suite.encrypt() und fügt den Chiffretext in den HTML-Inhalt ein.

  5. Nachricht entschlüsseln: 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-Erzeugung: Verwendet ChromePdfRenderer, um die content HTML-Zeichenfolge in ein PDF-Dokument zu rendern. Speichert die erzeugte PDF-Datei als "Demo-cryptography.pdf".

Dieses Setup ermöglicht es, ein PDF-Dokument zu erstellen, das die Verschlüsselungs- und Entschlüsselungsfunktionen der cryptography-Bibliothek in Kombination mit den PDF-Erstellungsmöglichkeiten von IronPDF präsentiert.

Ausgabe

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

PDF

Kryptografie 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