Altbilgi içeriğine atla
PYTHON YARDıM

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

Cryptography, dijital çağda veri ve iletişimlerin güvenliğini sağlamak için esastır. Bu paket, geniş kapsamlı kütüphaneleri ile kriptografik teknikleri uygulamayı kolaylaştırır. Python'da kriptografi için en popüler kütüphanelerden biri, hem yüksek düzeyde hem de düşük düzeyde arayüzlerle kriptografik tarifeler sağlayan cryptography paketidir. Makalenin ilerleyen bölümlerinde, Iron Software tarafından sunulan IronPDF adlı çok yönlü bir PDF oluşturma kütüphanesini de inceleyeceğiz.

Ana Özellikler

  1. Yüksek Seviyeli Tarifler: Cryptography, yaygın kriptografik görevler için simetrik şifreleme, simetrik şifreler, mesaj özetleri ve anahtar türetme fonksiyonları gibi yüksek seviyeli kriptografik tarifler katmanı içerir. Yüksek seviyeli simetrik şifreleme tarifleri, karmaşık algoritmaları hızlı ve basit bir şekilde uygulamaya yardımcı olur.
  2. Düşük Seviyeli Arayüzler: Ayrıca daha ince kontrol ve özelleştirme için 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ı da dahil olmak üzere yaygın kriptografik algoritmaları destekler.
  4. Kriptografik Primitifler: Standart kriptografik kütüphane, Python geliştiricilerine hashleme, anahtar türetme ve mesaj doğrulama kodları (MAC'ler) için primitifler sunan kriptografik tarifler ve primitifleri içerir.
  5. Geliştirici Desteği: Geliştiriciler sorun raporları gönderebilir ve geliştirme tartışmaları için bir posta listesi sunar.

Kurulum

Kriptografi paketini kurmak için pip kullanabilirsiniz:

pip install cryptography
pip install cryptography
SHELL

Temel Kullanımı

İşte Fernet modülü ile 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şturur, bir mesajı şifreler ve ardından Fernet modülünü kullanarak bunu çözeriz.

Çıktı

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

Kullanım Alanları

  1. Veri Şifreleme: Hassas verileri, bir veritabanına kaydetmeden veya bir ağ üzerinden iletmeden önce şifreleyin.
  2. Güvenli İletişim: Taraflar arasında değiş tokuş edilen mesajların gizli ve müdahaleye kapalı olmasını sağlayın.
  3. Kimlik Doğrulama: Kriptografik imzalar kullanarak verilerin bütünlüğünü ve özgünlüğünü doğrulayın.

IronPDF'i Tanıtma

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

IronPDF, HTML, CSS, resimler ve JavaScript kullanarak PDF'ler oluşturmak, düzenlemek ve imzalamak için tasarlanmış güçlü bir Python kütüphanesidir ve modern web standartlarını destekler. Düşük bellek kullanimiyla ticari seviyede performans sunar. Ana özellikler şunlardır:

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

Platformlar Arası Destek: IronPDF, Python 3+ için tasarlandı ve ayrıca Windows, Mac, Linux veya Bulut Platformlarında çalıştırılabilir.
IronPDF, .NET, Java, Python ve Node.js üzerinde de mevcuttur.

Düzenleme ve İmzalama: IronPDF kullanarak PDF'lerinize özellik ekleyebilir, şifreler ve izinlerle güvenlik sağlayabilir ve dijital imzalar uygulayabilirsiniz.

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

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

Kurulum

pip install ironpdf

IronPDF ve Cryptography kullanarak PDF Belgeleri Oluşturun.

Önkoşullar

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

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

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

Gerekli kitaplıkları yükleyin:

pip install cryptography
pip install ironpdf
pip install cryptography
pip install 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çacığı, mesajların şifrelenmesini ve çözülmesini gerçekleştirmek ve ardından IronPDF kullanarak bir PDF belgesi oluşturmak için cryptography kütüphanesinin Fernet modülünü nasıl kullanacağınızı gösterir. Her kod parçasının açıklaması:

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

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

  3. Bir Anahtar Oluştur: Fernet.generate_key() ile yeni bir anahtar üretir ve oluşturulan anahtar ile bir Fernet şifre grubu nesnesi (cipher_suite) oluşturur. HTML içeriğine oluşturulan anahtarı ekler.

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

  5. Bir Mesajı Çöz: Şifrelenmiş cipher_textcipher_suite.decrypt() kullanarak çözer ve çözülen düz metni HTML içeriğine ekler.

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

Bu yapılandırma, cryptography kütüphanesinin sağladığı şifreleme ve çözme işlevlerini, IronPDF'nin PDF oluşturma yetenekleriyle birleştiren bir PDF belgesi oluşturmaya 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, kullanıcılarının satın almadan önce geniş kapsamlı özelliklerini incelemelerine olanak tanımak için bir deneme lisans anahtarı sunar.

IronPDF paketi kullanmadan önce scriptin başına Lisans Anahtarını 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 deşifre işlemlerini uygulamak için güçlü bir araçtır. Kullanım kolaylığı ve kapsamlı özellikleri, uygulamalarının güvenliğini artırmayı amaçlayan geliştiriciler için mükemmel bir seçim yapar.

Öte yandan, IronPDF çok yönlü ve özellik bakımından zengin bir PDF oluşturma kütüphanesidir ve sonuçları standart bir şekilde belgelemeye yardımcı olur. Bu iki kütüphane birlikte geliştiricilerin beceri setlerini geliştirmeleri için harika işler yapabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

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