PDF dosyalarını şifrele

Şifreleme, PDF belgelerinin içeriğini korumak için ünlü ve güvenilir bir yaklaşımdır. Bir belge şifrelendiğinde, içeriği okunamaz hale gelir ve yalnızca yetkili kullanıcılar içeriğe erişmek için belgeyi şifresini çözebilir. Belgeleri bir parola ile koruduğunuzda, doğru parolayı giren kişiler dosyaya veya klasöre erişebilir. Daha güçlü bir güvenlik yöntemi, yaygın türleri 128 bitlik anahtar veya 256 bitlik AES şifrelemesi olan şifrelemedir. Lütfen Şifrelemenin belge içeriğini okunamaz şifreli metne dönüştürdüğünü unutmayın. Belgeyi şifresini çözmek için yetkili kullanıcıların genellikle bir parola veya dijital sertifika olan bir anahtara ihtiyaçları vardır. Bu makalede, Java bulut SDK’sını kullanarak PDF dosyalarının nasıl Şifreleneceği ve Şifresinin nasıl Çözüleceğiyle ilgili ayrıntıları tartışacağız.

Bu blog yazımızda Java REST API kullanarak PDF belgelerinin şifrelenmesi ve şifresinin çözülmesine ilişkin adımları ve detayları ele alacağız.

Java REST API

Aspose.PDF Cloud SDK for Java, Java programcılarının şu anda Cloud API’mizde sunulan özelliklerden tam olarak yararlanmasını sağlayan Aspose.PDF Cloud’un etrafında bir sarmalayıcıdır. Dolayısıyla, doğrudan Java kodunuz içerisinde PDF dosyalarını çeşitli Desteklenen Belge Biçimlerine dönüştürme, düzenleme ve dönüştürme yeteneklerine sahip olursunuz.

Kurulum

SDK’yi kullanmak için ilk adım onu sisteminize kurmaktır. Cloud SDK Maven ve GitHub üzerinden indirilebilir. Şimdi, Aspose.Pdf.jar’ı Maven derleme projesinde indirmek ve kullanmak için pom.xml dosyanıza aşağıdaki ayrıntıları ekleyin.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

Ayrıca Aspose.Cloud SDK’ları nasıl kurulur konusunda detaylı bilgi için aşağıdaki bağlantıyı ziyaret etmenizi öneririz.

Cloud Dashboard’a Ücretsiz Abonelik

Aspose.PDF Cloud SDK For Java, PDF dosya işleme için açık kaynaklı ücretsiz bir Cloud SDK’dır. Ücretsizden bahsettiğimizde, SDK’nın tam kaynak kodunun GitHub deposunda indirilebilir olduğu anlamına gelir. Bu nedenle kodunu gereksinimlerinize göre değiştirebilirsiniz. Ancak, veri gizliliğini ve bütünlüğünü sağlamak için, Cloud API’lerine yalnızca yetkili kişiler erişebilir ve yalnızca kendi özel bulut depolama alanlarına erişebilirler.

Bu nedenle, önce Aspose.Cloud panosunu ziyaret etmeniz ve GitHub veya Google hesabınız varsa, sadece Kaydolmanız gerekir. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın.

cURL Komutunu Kullanarak PDF Dosyasını Şifreleyin

cURL komutları, REST API’lerine erişmenin en kolay ve en havalı yollarından biridir. O halde cURL komutlarını kullanarak farklı açıklamalar eklemekten bahsedelim. Dolayısıyla cURL komutlarını kullanmak için önce bir JWT erişim yetkilendirme belirteci oluşturmamız gerekir. JSON Web Belirteci (JWT), her müşteri için oluşturulan benzersiz anahtarlar olan İstemci Kimliği ve İstemci Gizli Bilgileri ayrıntılarına dayanır. Bu yüzden, kimlik bilgilerinizi kullanarak Aspose.Cloud panosuna giriş yapın ve panodan Uygulamalar bölümünü genişletin ve İstemci Kimliği ve İstemci Gizli Bilgileri ayrıntılarını görmek için İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırın.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Daha fazla ilerlemeden önce, PDF dosyalarını şifrelediğimizde Kullanıcı ve sahip şifreleri belirlediğimizi belirtmek isteriz.

Belge açma şifresi

Belge Açma parolası (kullanıcı parolası olarak da bilinir), kullanıcının PDF’yi açmak için bir parola yazmasını gerektirir.

İzin şifresi

İzin ayarlarını değiştirmek için izin parolası (ana/sahip parolası olarak da bilinir) gerekir. İzin parolasını kullanırken PDF’deki içeriği yazdırmayı, düzenlemeyi ve kopyalamayı kısıtlayabilirsiniz. Bu parola, daha önce uyguladığınız kısıtlamaları değiştirmek için gereklidir.

PDF her iki tür şifreyle de korunuyorsa, her iki şifreyle de açılabilir.

Lütfen API’nin Base64 kodlu biçimde sahip ve kullanıcı parolalarını kabul ettiğini unutmayın. Aşağıdaki cURL komutunda, sahipPassword (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) ve kullanıcıPassword (dXNlciAkXlBhc3N3b3JkISY=) belirtilir.

curl -v "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Java kullanarak PDF Dosyasını Şifrele

PDF dosyalarına sadece parola koruması eklemiyoruz, daha güçlü bir güvenlik yöntemi olan şifreleme kullanılıyor. Java REST API, belge içeriğini okunamaz şifreli metne dönüştüren aşağıdaki şifreleme yöntemlerinden birini seçmenize olanak tanır.

| İsim | Açıklama |

| ———— | ———————– |

| RC4x40 | Anahtar uzunluğu 40 olan RC4. |

| RC4x128 | Anahtar uzunluğu 128 olan RC4. |

| AESx128 | Anahtar uzunluğu 128 olan AES. |

| AESx256 | Anahtar uzunluğu 256 olan AES. |

Cloud depolamada halihazırda mevcut olan PDF dosyalarına userPassword ve ownerPassword eklemek için aşağıdaki kod parçacığını kullanın.

  • İlk adım, clientID ve clientSecret ayrıntılarını argüman olarak geçirerek bir PdfApi örneği oluşturmaktır.
  • PDF dosyasını PdfApi’nin uploadFile(…) metodunu kullanarak bulut depolama alanına yükleyin.
  • Son olarak PdfApi’nin postEncryptDocumentInStorage(…) metodunu çağırın; bu metot, girdi olarak PDF dosya adını, kullanıcı ve sahip şifrelerini ve CryptoAlgorithm numaralandırmasından bir değeri argüman olarak alır.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF belgesini girin
String name = "PdfWithTable.pdf";	        
			   
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// base64 kodlu kullanıcı ve sahip şifreleri
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// PDF'yi şifrelemek için API'yi çağır
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// Konsolda API yanıtını yazdır
System.out.println(response);

Ortaya çıkan dosyayı açmaya çalıştığınızda, parola ayrıntılarını sağlamanız istenecektir.

cURL Komutunu Kullanarak PDF Dosyasını Şifresini Çözün

cURL komutu ayrıca mevcut kodlanmış bir PDF belgesini şifresini çözmek için de kullanılabilir. Aşağıda verilen örnekte, parola ayrıntılarını bir argüman olarak alan PostDecryptDocumentInStorage API’sine erişilir.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/decrypt?password=dXNlciAkXlBhc3N3b3JkISY%3D" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Java kullanarak PDF Dosyasını Şifrele

PDF dosyalarını Java kullanarak şifresini çözmek için lütfen aşağıda açıklanan adımları izleyin

  • clientSecret ve clientID’yi argüman olarak geçirerek PdfApi örneği oluşturun.
  • Giriş PDF dosyasını tanımlayan dize nesnesi oluşturun.
  • Dosyayı PdfApi sınıfının uploadFile(….) metodunu kullanarak bulut depolama alanına yükleyin.
  • Son olarak, giriş PDF dosya adını ve şifre çözme parolasını argüman olarak sağlayarak postDecryptDocumentInStorage(…) metodunu çağırın.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// PDF belgesini girin
String name = "PdfWithTable.pdf";	        
			   
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// base64 kodlu kullanıcı ve sahip şifreleri
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// PDF'yi Şifresini Çözmek için API'yi çağırın
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// Konsolda API yanıtını yazdır
System.out.println(response);

Yukarıdaki örnekte kullanılan şifresi çözülmüş dosya PdfWithTable-Encrypted.pdf adresinden indirilebilir.

Çözüm

Bu blogda, Java REST API kullanarak PDF dosyalarının nasıl Şifreleneceği ve Şifresinin nasıl çözüleceği adımlarını ele aldık. Kaynak dosyalarınızı kolayca şifreleyebilir ve bunları veri hırsızlığı veya belge kötüye kullanımı korkusu olmadan internet üzerinden paylaşabilirsiniz. Şifreleme özelliklerinin yanı sıra, Aspose.PDF Cloud SDK for Java PDF formatıyla ilgili çok sayıda özellik sunar. Aspose.PDF Cloud özellikleri hakkında daha fazla bilgi için aşağıdaki bağlantıyı ziyaret etmeyi düşünebilirsiniz.

İlgili Makaleler

Ayrıca, bu konuda bilgi edinmek için aşağıdaki blogu okumanızı öneririz: