Altbilgi içeriğine atla
PYTHON YARDıM

cryptography Python (Geliştiriciler İçin Nasıl Çalışir)

Kriptografi, verilerin ve iletişimlerin dijital çağda güvence altına alınması için gereklidir. Bu paket, kapsamlı kütüphaneleri ile kriptografik tekniklerin uygulanmasını kolaylaştırır. Python'da kriptografi için en popüler kütüphanelerden biri, yüksek seviye ve düşük seviye arayüzlerle kriptografi tarifleri sunan cryptography paketidir. Makalenin ilerleyen bölümlerinde, Iron Software tarafından sunulan IronPDF adlı çok yönlü bir PDF oluşturma kütüphanesi üzerinde de duracağız.

Ana Özellikler

  1. Yüksek Düzeydeki Tarifler: Kriptografi, simetrik şifreleme, simetrik şifreler, mesaj özetleri ve anahtar türetme işlevleri gibi yaygın kriptografik görevler için yüksek seviyeli kriptografik tarifler katmanı içerir. Yüksek seviyeli simetrik şifreleme tarifleri, karmaşık algoritmaların hızlı ve basit bir şekilde uygulanmasına yardımcı olur.
  2. Düşük Düzeyli Arayüzler: Ayrıca, daha ayrıntılı kontrol ve özelleştirme imkanı tanıyan kriptografik algoritmalara düşük seviyeli arayüzler sunar.
  3. Simetrik ve Asimetrik Şifreleme: Kütüphane, hem simetrik şifreleme (örneğin, AES) hem de asimetrik şifreleme (örneğin, RSA) algoritmalarını içeren yaygın kriptografik algoritmaları destekler.
  4. Kriptografik Primitifler: Kriptografik standart kütüphanesi Python geliştiricilerine kriptografik tarifler ve primitifler sunar; bunlar arasında karma, anahtar türetme ve mesaj kimlik doğrulama kodları (MAC'ler) için primitifler bulunur.
  5. Geliştirici Desteği: Geliştiriciler problem raporları sunabilir ve geliştirme tartışmaları için bir posta listesi de sunmaktadır.

Kurulum

Kriptografi paketini kurmak için pip kullanılabilir:

pip install cryptography
pip install cryptography
SHELL

Temel Kullanım

İşte Fernet modülüyle simetrik şifreleme için kriptografi kütüphanesinin nasıl kullanılacağına dair basit bir örnek:

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

Bu örnekte bir anahtar oluşturup bir mesajı şifreleyip ardından Fernet modülüyle geri şifre çözüyoruz.

Çıktı

kriptografi Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 1

Kullanım Alanları

  1. Veri Şifreleme: Duyarlı verileri bir veritabanında depolamadan veya bir ağ üzerinden iletmeden önce şifreleyin.
  2. Güvenli İletişim: Taraflar arasında değiştirilen mesajların gizli ve değiştirilemez olduğunu sağlayın.
  3. Doğrulama: Verilerin bütünlüğünü ve kimliğini kriptografik imzalar kullanarak doğrulayın.

IronPDF Tanıtımı

kriptografi Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - IronPDF: Python PDF Kütüphanesi

IronPDF, modern web standartlarına desteği sayesinde HTML, CSS, resimler ve JavaScript kullanarak PDF oluşturma, düzenleme ve imzalama amacıyla tasarlanmış güçlü bir Python kütüphanesidir. Düşük bellek kullanımıyla ticari düzeyde performans sunar. Önemli özellikler şunları içerir:

HTML'den PDF'ye Dönüşüm:
IronPDF, HTML dosyalarını, HTML dizgilerini ve URL'leri PDF'ye dönüştürebilir. Örneğin, bir web sayfasını Chrome PDF render edici kullanarak PDF olarak işleyin.

Çapraz Platform Desteği:
IronPDF, Python 3+ için tasarlanmış olup Windows, Mac, Linux veya Bulut Platformlarında da çalışır.
IronPDF, .NET, Java, Python, ve Node.js platformlarında da bulunmaktadır.

Düzenleme ve İmzalama:
IronPDF kullanarak özellikleri ayarlayın, parolalar ve izinler ile güvenlik ekleyin ve PDF'lerinize dijital imzalar uygulayın.

Sayfa Şablonları ve Ayarları:
IronPDF ile başlıklar, altlıklar, sayfa numaraları ve ayarlanabilir kenar boşluklarıyla PDF'leri özelleştirebilirsiniz. Ayrıca özel kağıt boyutları ve duyarlı düzenleri destekler.

Standartlara Uyum:
IronPDF, PDF/A ve PDF/UA dahil olmak üzere PDF standartlarına uygundur, UTF-8 karakter kodlamasını destekler ve resimler, CSS ve yazı tipleri gibi varlıkları yönetir.

Kurulum

pip install ironpdf

IronPDF ve Kriptografi kullanarak PDF Belgeleri Oluşturun.

Ön Koşullar

  1. Visual Studio Code'un kurulu olduğundan emin olun
  2. Python 3 sürümünün kurulu olduğundan emin olun

Başlangıçta, betiklerinizi eklemek için bir Python dosyası oluşturalım.

Visual Studio Code'u açın ve bir dosya oluşturun, cryptographyDemo.py.

Gerekli kütüphaneleri kurun:

:ProductInstall pip install cryptography ironpdf
:ProductInstall pip install cryptography ironpdf
SHELL

Ardından IronPDF ve kriptografi Python paketlerinin kullanımını göstermek için aşağıdaki kodu ekleyin:

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

Kod Açıklaması

Bu kod parçası, mesajların şifrelenmesi ve şifrelerinin çözülmesi için cryptography kütüphanesinin Fernet modülünün nasıl kullanılacağını ve ardından IronPDF kullanarak bir PDF belgesi oluşturmayı gösterir. İşte kodun her bir bölümünün açıklaması:

  1. İçe Aktarımlar ve Lisans Anahtarı Ayarı:

    • Şifreleme ve şifre çözme işlevselliği için cryptography.fernet modülünden Fernet sınıfını alır.
    • PDF oluşturma için IronPDF'den ChromePdfRenderer ve License alır.
    • IronPDF'nin özelliklerini etkinleştirmek için lisans anahtarını ayarlar.
  2. HTML İçerik Ayarlama: PDF belgesine dahil edilecek HTML işaretleme ile content değişkenini başlatır.

  3. Bir Anahtar Üret: Fernet.generate_key() kullanarak yeni bir anahtar üretir ve üretilen anahtar ile cipher_suite adıyla bir Fernet şifreleme suite nesnesi oluşturur. Oluşturulan anahtarı HTML içeriğine dahil eder.

  4. Bir Mesajı Şifrele: Şifrelenecek bir mesaj (message) tanımlar (b"IronPDF is awesome"). Mesajı cipher_suite.encrypt() yöntemiyle şifreler ve şifreli metni HTML içeriğine ekler.

  5. Bir Mesajı Çöz: Şifreli cipher_text'yi cipher_suite.decrypt() kullanarak çözer ve çözülen düz metni HTML içeriğine ekler.

  6. PDF Oluşturma: ChromePdfRenderer kullanarak content HTML dizgisini bir PDF belgesine dönüştürür. Oluşturulan PDF dosyasını 'Demo-cryptography.pdf' olarak kaydeder.

Bu ayar, cryptography kütüphanesi tarafından sağlanan şifreleme ve şifre çözme işlevselliklerini, IronPDF'in PDF oluşturma yetenekleri ile birleştirilerek bir PDF belgesi oluşturulmasına olanak tanır.

Çıktı

kriptografi Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 3

PDF

kriptografi Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 4

IronPDF Lisansı

IronPDF, satın almadan önce kullanıcıların geniş özelliklerini denemeleri için deneme lisans anahtarı sunar.

Lisans Anahtarını betiğin başında IronPDF paketi'ni kullanmadan önce yerleştirin:

from ironpdf import License

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

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

Sonuç

Python'daki kriptografi kütüphanesi, güvenli veri şifreleme ve çözme işlemlerini uygulamak için güçlü bir araçtır. Kullanım kolaylığı ve kapsamlı özellikleri, uygulamalarının güvenliğini artırmak isteyen geliştiriciler için mükemmel bir seçim yapar.

Öte yandan, IronPDF, sonuçları standart bir şekilde belgelemeye yardımcı olacak çok yönlü ve özellik açısından zengin bir PDF oluşturma kütüphanesidir. Bu iki kütüphane, geliştiricilerin beceri setlerini geliştirmeleri için harikalar yaratabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara