حفاظت با رمز عبور و رمزنگاری فایل‌های Word با API جاوا یک نیاز رایج برای شرکت‌هایی است که باید اسناد حساس را پیش از توزیع ایمن کنند. Aspose.Words Cloud SDK for Java کتابخانه‌ای ساده برای افزودن حفاظت با رمز عبور و رمزنگاری به DOCX به‌صورت مستقیم از برنامه جاوا شما فراهم می‌کند. در این راهنما خواهید آموخت که چگونه SDK را پیکربندی کنید، یک سند را بارگذاری کنید، حفاظت فقط‑خواندنی را با رمز عبور اعمال کنید و فایل امن‌شده را بازیابی کنید. این آموزش همچنین شامل دستورات cURL معادل برای کاربران REST API و توصیه‌های بهترین روش برای مدیریت امن اسناد می‌باشد.

محافظت با رمز عبور و رمزنگاری فایل‌های Word با API جاوا در 5 گام

  1. بارگذاری فایل DOCX منبع به Aspose Cloud storage: از UploadFileRequest برای انتقال فایل محلی به ابر استفاده کنید.

    Path inputPath = Paths.get(localInputPath);
    byte[] inputData = Files.readAllBytes(inputPath);
    UploadFileRequest uploadRequest = new UploadFileRequest(remoteInputFile, inputData, null, null);
    wordsApi.uploadFile(uploadRequest);
    
  2. ایجاد درخواست محافظت با رمز عبور: یک شیء ProtectionRequest ایجاد کنید، رمز عبور را تنظیم کنید و نوع محافظت READ_ONLY را انتخاب کنید.

    ProtectionRequest protection = new ProtectionRequest();
    protection.setPassword(documentPassword);
    protection.setProtectionType(ProtectionRequest.ProtectionTypeEnum.READ_ONLY);
    
  3. اعمال محافظت و رمزنگاری سند: با استفاده از PutProtectDocumentRequest نام فایل منبع و مقصد را مشخص کنید.

    PutProtectDocumentRequest protectRequest = new PutProtectDocumentRequest(
            remoteInputFile,
            protection,
            null,
            null,
            null,
            null,
            remoteOutputFile,
            null,
            null);
    wordsApi.putProtectDocument(protectRequest);
    
  4. بارگیری DOCX محافظت‌شده: فایل رمزنگاری‌شده را با DownloadFileRequest دریافت کنید.

    DownloadFileRequest downloadRequest = new DownloadFileRequest(remoteOutputFile, null, null);
    byte[] protectedData = wordsApi.downloadFile(downloadRequest);
    Path outputPath = Paths.get(localOutputPath);
    Files.write(outputPath, protectedData);
    
  5. (اختیاری) پاک‌سازی فایل‌های ریموت: در صورت عدم نیاز، فایل‌های موقت را از ذخیره‌سازی حذف کنید.

برای اطلاعات دقیق کلاس، به مرجع WordsApi مراجعه کنید.

محافظت با رمز عبور و رمزنگاری فایل‌های Word با API جاوا - مثال کامل کد

این مثال نشان می‌دهد که چگونه یک فایل DOCX را بارگذاری کنید، محافظت با رمز عبور اعمال کنید و فایل ایمن‌شده را با استفاده از Aspose.Words Cloud SDK for Java دانلود کنید.

import com.aspose.words.cloud.ApiClient;
import com.aspose.words.cloud.api.WordsApi;
import com.aspose.words.cloud.model.ProtectionRequest;
import com.aspose.words.cloud.model.requests.DownloadFileRequest;
import com.aspose.words.cloud.model.requests.PutProtectDocumentRequest;
import com.aspose.words.cloud.model.requests.UploadFileRequest;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ProtectAndEncryptWord {
    public static void main(String[] args) {
        // Replace with your actual Aspose Cloud credentials
        final String clientId = "YOUR_CLIENT_ID";
        final String clientSecret = "YOUR_CLIENT_SECRET";

// File locations (local)
        final String localInputPath = "input.docx";
        final String localOutputPath = "output_protected.docx";

// Remote file names (in Aspose Cloud storage)
        final String remoteInputFile = "input.docx";
        final String remoteOutputFile = "output_protected.docx";

// Password to protect the document
        final String documentPassword = "MySecretPassword";

// Initialize API client
        ApiClient apiClient = new ApiClient();
        apiClient.setBasePath("https://api.aspose.cloud");
        apiClient.setAppSid(clientId);
        apiClient.setAppKey(clientSecret);
        WordsApi wordsApi = new WordsApi(apiClient);

try {
            // Upload local document to Aspose Cloud storage
            Path inputPath = Paths.get(localInputPath);
            byte[] inputData = Files.readAllBytes(inputPath);
            UploadFileRequest uploadRequest = new UploadFileRequest(remoteInputFile, inputData, null, null);
            wordsApi.uploadFile(uploadRequest);

// Create protection request with password and protection type
            ProtectionRequest protection = new ProtectionRequest();
            protection.setPassword(documentPassword);
            protection.setProtectionType(ProtectionRequest.ProtectionTypeEnum.READ_ONLY);

// Apply protection and encrypt the document
            PutProtectDocumentRequest protectRequest = new PutProtectDocumentRequest(
                    remoteInputFile,          // source file name
                    protection,              // protection settings
                    null,                    // folder (root)
                    null,                    // storage
                    null,                    // loadEncoding
                    null,                    // password (none, because we are adding one)
                    remoteOutputFile,        // destination file name
                    null,                    // revisionAuthor
                    null                     // revisionDateTime
            );
            wordsApi.putProtectDocument(protectRequest);

// Download the protected document back to local storage
            DownloadFileRequest downloadRequest = new DownloadFileRequest(remoteOutputFile, null, null);
            byte[] protectedData = wordsApi.downloadFile(downloadRequest);
            Path outputPath = Paths.get(localOutputPath);
            Files.write(outputPath, protectedData);

// Optional: clean up remote files
            // wordsApi.deleteFile(new DeleteFileRequest(remoteInputFile, null, null));
            // wordsApi.deleteFile(new DeleteFileRequest(remoteOutputFile, null, null));

System.out.println("Document protected and saved to: " + localOutputPath);
        } catch (IOException e) {
            System.err.println("File I/O error: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Aspose API error: " + e.getMessage());
        }
    }
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه‌تان، مطمئن شوید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روز کنید که با محیط واقعی شما مطابقت داشته باشد، اطمینان حاصل کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.

محافظت و رمزگذاری اسناد Word از طریق REST API با استفاده از cURL

دستورات cURL زیر همان عملیات کد Java را انجام می‌دهند، اما از طریق نقاط انتهایی Aspose.Words Cloud REST.

  1. دریافت توکن دسترسی
    YOUR_CLIENT_ID و YOUR_CLIENT_SECRET را با اعتبارهای خود جایگزین کنید.

    curl -X POST "https://api.aspose.cloud/connect/token" \
         -H "Content-Type: application/x-www-form-urlencoded" \
         -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
    
  2. بارگذاری DOCX منبع

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/input.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@input.docx"
  1. اعمال حفاظت با رمز عبور (فقط‑خواندنی)
curl -X PUT "https://api.aspose.cloud/v4.0/words/input.docx/protect?destFileName=output_protected.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "Password": "MySecretPassword",
           "ProtectionType": "ReadOnly"
         }'
  1. دانلود DOCX محافظت‌شده
curl -X GET "https://api.aspose.cloud/v4.0/words/storage/file/output_protected.docx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o output_protected.docx

برای جزئیات بیشتر، به مستندات رسمی API مراجعه کنید.

نصب و پیکربندی Aspose.Words Cloud SDK برای Java

وابستگی Maven را به فایل pom.xml پروژه خود اضافه کنید (یا قطعه معادل Gradle).

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words-cloud</artifactId>
    <version>26.10.0</version>
</dependency>

آخرین کتابخانه را از release page دانلود کنید.
کلاینت را همان‌طور که در مثال کد نشان داده شده است (بخش کوتاه) مقداردهی کنید:

ApiClient apiClient = new ApiClient();
apiClient.setBasePath("https://api.aspose.cloud");
apiClient.setAppSid("YOUR_CLIENT_ID");
apiClient.setAppKey("YOUR_CLIENT_SECRET");
WordsApi wordsApi = new WordsApi(apiClient);

اطمینان حاصل کنید که یک حساب Aspose Cloud معتبر دارید و شناسه کلاینت و رمز را تولید کرده‌اید.

Aspose.Words Cloud SDK for Java Capabilities for Document Security

  • Password protection - اعمال حفاظت فقط‑خواندنی، نظرات یا تغییرات ردیابی‌شده با رمز عبور سفارشی.
  • Encryption - SDK کل فایل DOCX را زمانی که رمز عبور تنظیم می‌شود رمزگذاری می‌کند و از دسترسی غیرمجاز جلوگیری می‌نماید.
  • Cloud storage integration - بارگذاری و دانلود فایل‌ها به‌صورت مستقیم از ذخیره‌سازی Aspose Cloud، ساده‌سازی خودکارسازی جریان کار.
  • Fine‑grained control - از میان مقادیر متعدد ProtectionTypeEnum انتخاب کنید تا با سیاست امنیتی شما مطابقت داشته باشد.
  • Cross‑platform support - در هر محیط سازگار با Java کار می‌کند، از برنامه‌های دسکتاپ تا سرویس‌های سمت سرور.

بهترین روش‌ها برای ایمن‌سازی فایل‌های Word با Aspose.Words

  • استفاده از رمزهای قوی: ترکیب حروف بزرگ، حروف کوچک، اعداد، و نمادها برای مقاومت در برابر حملات brute‑force.
  • ذخیره‌سازی امن اعتبارها: clientId و clientSecret را خارج از کد منبع نگه دارید و از متغیرهای محیطی یا مدیران راز استفاده کنید.
  • اعتبارسنجی اندازه فایل: اندازه اسناد بارگذاری‌شده را بررسی کنید تا از مصرف بیش از حد حافظه در طول رمزگذاری جلوگیری شود.
  • محدود کردن دسترسی‌ها: فقط دسترسی‌های ذخیره‌سازی مورد نیاز را به کلید API که برای عملیات حفاظت استفاده می‌شود، اعطا کنید.
  • آزمون رمزگشایی: پس از اعمال حفاظت، فایل را دانلود کنید و تأیید کنید که رمز عبور همان‌طور که انتظار می‌رود کار می‌کند قبل از انتشار به کاربران.

جمع‌بندی نهایی

محافظت از رمز عبور و رمزنگاری فایل‌های Word با API جاوا برای حفاظت از اطلاعات محرمانه در برنامه‌های مدرن ضروری است. با بهره‌گیری از Aspose.Words Cloud SDK for Java، توسعه‌دهندگان می‌توانند کل فرآیند را از بارگذاری یک فایل DOCX تا اعمال حفاظت فقط‑خواندنی و دریافت نتیجهٔ رمزنگاری‌شده خودکار کنند. API غنی این SDK، همراه با گزینه‌های سادهٔ cURL، ادغام امنیت اسناد را در هر سیستم مبتنی بر جاوا آسان می‌سازد. به‌خاطر داشته باشید که برای استفاده در محیط تولید، باید یک لایسنس مناسب تهیه کنید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید در حین ارزیابی راه‌حل، یک لایسنس موقت را از صفحهٔ لایسنس موقت دریافت کنید.

سوالات متداول

چگونه حفاظت با رمز عبور و رمزنگاری فایل‌های Word با API جاوا در Aspose.Words کار می‌کند؟
این فرآیند یک فایل DOCX را به ذخیره‌سازی Aspose Cloud بارگذاری می‌کند، یک ProtectionRequest که شامل رمز عبور و نوع حفاظت است ایجاد می‌کند، PutProtectDocument را برای اعمال تنظیمات فراخوانی می‌کند و در نهایت فایل رمزنگاری‌شده را دانلود می‌نماید. SDK تمام جزئیات رمزنگاری را به‌صورت داخلی مدیریت می‌کند.

آیا می‌توانم هنگام رمزگذاری یک سند Word به‌صورت برنامه‌نویسی در Java از انواع حفاظت دیگری به‌جز فقط‑خواندنی استفاده کنم؟
بله. enum ProtectionRequest.ProtectionTypeEnum شامل گزینه‌هایی مانند COMMENTS، TRACK_CHANGES و FORMS است. نوعی را انتخاب کنید که با الزامات امنیتی شما مطابقت داشته باشد.

آیا امکان حفاظت از یک سند بدون ابتدا دانلود آن به‌صورت محلی وجود دارد؟
به‌طور قطع. تمام عملیات می‌توانند مستقیماً در ذخیره‌سازی ابری انجام شوند. پس از حفاظت، می‌توانید فایل را در Aspose Cloud نگه دارید یا بعداً با استفاده از DownloadFileRequest آن را دانلود کنید.

چه مجوزی برای استقرارهای تولیدی Aspose.Words Java API مورد نیاز است؟
برای تولید، یک مجوز تجاری لازم است. می‌توانید قیمت‌گذاری را در صفحه محصول مشاهده کنید و یک مجوز ارزیابی موقت را از صفحه مجوز موقت دریافت کنید.

به کاوش ادامه دهید