فایل های PDF را رمزگذاری کنید

رمزگذاری یک روش معروف و قابل اعتماد برای محافظت از محتوای اسناد PDF است. هنگامی که یک سند رمزگذاری می شود، محتوای آن غیرقابل خواندن می شود و فقط کاربران مجاز می توانند سند را رمزگشایی کنند تا به محتویات دسترسی پیدا کنند. وقتی از اسناد با رمز عبور محافظت می کنید، افرادی که رمز عبور صحیح را وارد می کنند می توانند به فایل یا پوشه دسترسی داشته باشند. یک روش امنیتی قوی‌تر، رمزگذاری است، که انواع رایج آن کلید 128 بیتی یا رمزگذاری AES 256 بیتی است. لطفاً توجه داشته باشید که رمزگذاری محتوای سند را به متن رمزی ناخوانا تبدیل می کند. برای رمزگشایی سند، کاربران مجاز به یک کلید نیاز دارند که معمولاً رمز عبور یا گواهی دیجیتال است. در این مقاله قصد داریم جزئیات نحوه رمزگذاری و رمزگشایی فایل های PDF با استفاده از Java cloud SDK را بررسی کنیم.

در این وبلاگ قصد داریم مراحل و جزئیات مربوط به رمزگذاری و رمزگشایی اسناد PDF با استفاده از Java REST API را مورد بحث قرار دهیم.

Java REST API

Aspose.PDF Cloud SDK for Java پوششی در اطراف Aspose.PDF Cloud است که به برنامه نویسان Java امکان می دهد از ویژگی هایی که در حال حاضر در Cloud API ما ارائه می شود، استفاده کامل کنند. بنابراین درست در کد Java خود، قابلیت ایجاد، ویرایش و تبدیل فایل‌های PDF را به [فرمت‌های سند پشتیبانی شده] مختلف دارید.

نصب و راه اندازی

برای استفاده از SDK، اولین قدم این است که آن را روی سیستم خود نصب کنید. Cloud SDK برای دانلود از طریق Maven و GitHub در دسترس است. اکنون جزئیات زیر را در فایل pom.xml خود برای دانلود و استفاده از Aspose.Pdf.jar در پروژه ساخت Maven اضافه کنید.

<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>

همچنین توصیه می کنیم برای اطلاعات دقیق در مورد نحوه نصب Aspose.Cloud SDK از پیوند زیر دیدن کنید.

اشتراک رایگان در داشبورد ابری

Aspose.PDF Cloud SDK For Java یک Cloud SDK رایگان منبع باز برای پردازش فایل PDF است. وقتی به رایگان اشاره می کنیم، به این معنی است که کد منبع کامل SDK برای دانلود در مخزن GitHub موجود است. بنابراین می توانید کد آن را مطابق با نیاز خود تغییر دهید. اما، به منظور اطمینان از محرمانه بودن و یکپارچگی داده ها، API های Cloud فقط برای افراد مجاز قابل دسترسی هستند و آنها فقط به فضای ذخیره سازی ابری خاص خود دسترسی دارند.

بنابراین، ابتدا باید از Aspose.Cloud dashboard دیدن کنید و اگر حساب GitHub یا Google دارید، به سادگی ثبت نام کنید. در غیر این صورت، روی دکمه Create a new Account کلیک کنید و اطلاعات مورد نیاز را ارائه دهید.

رمزگذاری فایل PDF با استفاده از دستور cURL

دستورات cURL یکی از ساده ترین و جالب ترین راه ها برای دسترسی به API های REST است. بنابراین بیایید در مورد اضافه کردن حاشیه نویسی های مختلف با استفاده از دستورات cURL صحبت کنیم. بنابراین برای استفاده از دستورات cURL، ابتدا باید یک توکن مجوز دسترسی JWT ایجاد کنیم. JSON Web Token (JWT) بر اساس Client ID و Client Secret جزئیات است که کلیدهای منحصر به فردی هستند که برای هر مشتری ایجاد می شوند. بنابراین، با استفاده از اطلاعات کاربری خود به Aspose.Cloud داشبورد وارد شوید و بخش Applications را از داشبورد گسترش دهید و به سمت پایین به بخش Client Credentials بروید تا Client ID و Client Secret جزئیات را ببینید.

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"

قبل از ادامه، لطفاً توجه داشته باشید که وقتی فایل‌های PDF را رمزگذاری می‌کنیم، رمز عبور کاربر و مالک را تنظیم می‌کنیم.

رمز باز کردن سند

رمز عبور باز سند (همچنین به عنوان رمز عبور کاربر شناخته می شود) به کاربر نیاز دارد تا رمز عبور را برای باز کردن PDF تایپ کند.

رمز عبور مجوزها

رمز عبور مجوز (همچنین به عنوان رمز عبور اصلی/مالک شناخته می شود) برای تغییر تنظیمات مجوز لازم است. هنگام استفاده از رمز عبور مجوزها، می توانید چاپ، ویرایش و کپی محتوا را در PDF محدود کنید. این رمز عبور برای تغییر محدودیت هایی که قبلا اعمال کرده اید مورد نیاز است.

اگر PDF با هر دو نوع رمز عبور ایمن باشد، می توان آن را با هر یک از رمزهای عبور باز کرد.

لطفاً توجه داشته باشید که API رمزهای عبور مالک و کاربر را در قالب Base64 encoded می‌پذیرد. در دستور cURL زیر مالک رمز (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) و UserPassword (dXNlciAkXlBhc3N3b3JkISY=) مشخص شده است.

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>"

رمزگذاری فایل PDF با استفاده از Java

ما به سادگی محافظت از رمز عبور را به فایل‌های PDF اضافه نمی‌کنیم، بلکه یک روش امنیتی قوی‌تر، رمزگذاری است. Java REST API شما را قادر می سازد یکی از روش های رمزگذاری زیر را انتخاب کنید، که محتوای سند را به متن رمزی ناخوانا تبدیل می کند.

| نام | توضیحات |

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

| RC4x40 | RC4 با طول کلید 40. |

| RC4x128 | RC4 با طول کلید 128. |

| AESx128 | AES با طول کلید 128. |

| AESx256 | AES با طول کلید 256. |

از قطعه کد زیر برای افزودن userPassword و ownerPassword به فایل‌های PDF از قبل موجود در فضای ذخیره‌سازی ابری استفاده کنید.

  • اولین گام این است که یک نمونه PdfApi ایجاد کنید در حالی که اطلاعات clientID و clientSecret را به عنوان آرگومان ارسال می کنید.
  • فایل PDF را با استفاده از روش uploadFile(…) PdfApi در فضای ذخیره سازی ابری آپلود کنید.
  • در نهایت متد postEncryptDocumentInStorage(…) PdfApi را فراخوانی کنید که نام فایل PDF ورودی، رمزهای عبور کاربر و مالک و مقداری را از شمارش الگوریتم CryptoAlgorithm به عنوان آرگومان می گیرد.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// نمونه createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// سند PDF را وارد کنید
String name = "PdfWithTable.pdf";	        
			   
// فایل را از سیستم محلی بارگیری کنید
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// فایل را در فضای ذخیره سازی ابری آپلود کنید
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// گذرواژه های کاربر و مالک base64 کدگذاری شده است
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// برای رمزگذاری PDF با API تماس بگیرید
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// پاسخ API را در کنسول چاپ کنید
System.out.println(response);

هنگامی که سعی می کنید فایل حاصل را باز کنید، یک اعلان برای ارائه جزئیات رمز عبور ظاهر می شود.

رمزگشایی فایل PDF با استفاده از دستور cURL

دستور cURL همچنین می تواند برای رمزگشایی یک سند PDF رمزگذاری شده موجود استفاده شود. در مثال زیر، API PostDecryptDocumentInStorage قابل دسترسی است که جزئیات رمز عبور را به عنوان آرگومان می‌گیرد.

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>"

رمزگشایی فایل PDF با استفاده از Java

به منظور رمزگشایی فایل های PDF با استفاده از جاوا، لطفا مراحل توضیح داده شده در زیر را دنبال کنید

  • همزمان با ارسال clientSecret و clientID به عنوان آرگومان، نمونه PdfApi ایجاد کنید.
  • فایل PDF ورودی تعریف کننده شی رشته ایجاد کنید.
  • با استفاده از روش uploadFile(…) کلاس PdfApi، فایل را در فضای ذخیره سازی ابری آپلود کنید.
  • در نهایت، روش postDecryptDocumentInStorage(…) را فراخوانی کنید و در عین حال نام فایل PDF ورودی و رمز عبور رمزگشایی را به عنوان آرگومان ارائه کنید.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// نمونه createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// سند PDF را وارد کنید
String name = "PdfWithTable.pdf";	        
			   
// فایل را از سیستم محلی بارگیری کنید
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// فایل را در فضای ذخیره سازی ابری آپلود کنید
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// گذرواژه های کاربر و مالک base64 کدگذاری شده است
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// برای رمزگشایی PDF با API تماس بگیرید
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// پاسخ API را در کنسول چاپ کنید
System.out.println(response);

فایل رمزگشایی استفاده شده در مثال بالا را می توان از PdfWithTable-Encrypted.pdf دانلود کرد.

نتیجه گیری

در این وبلاگ، مراحل نحوه رمزگذاری و رمزگشایی فایل های PDF با استفاده از Java REST API را مورد بحث قرار داده ایم. شما به راحتی می توانید فایل های منبع خود را رمزگذاری کرده و آنها را از طریق اینترنت بدون ترس از سرقت داده ها یا سوء استفاده از اسناد به اشتراک بگذارید. به غیر از ویژگی‌های رمزگذاری، Aspose.PDF Cloud SDK for Java ویژگی‌های فراوانی را در رابطه با فرمت PDF ارائه می‌کند. برای جزئیات بیشتر در مورد ویژگی‌های Aspose.PDF Cloud می‌توانید از پیوند زیر دیدن کنید.

مقالات مرتبط

همچنین توصیه می کنیم برای کسب اطلاعات بیشتر وبلاگ زیر را مطالعه کنید