Шифрование — известный и надежный подход к защите содержимого документов PDF. Когда документ зашифрован, его содержимое становится нечитаемым, и только авторизованные пользователи могут расшифровать документ, чтобы получить доступ к содержимому. Когда вы защищаете документы паролем, люди, которые введут правильный пароль, смогут получить доступ к файлу или папке. Более надежным методом безопасности является шифрование, распространенными типами которого являются 128-битный ключ или 256-битное шифрование AES. Обратите внимание, что шифрование превращает содержимое документа в нечитаемый зашифрованный текст. Для расшифровки документа авторизованным пользователям нужен ключ, который обычно представляет собой пароль или цифровой сертификат. В этой статье мы рассмотрим подробности того, как шифровать и расшифровывать файлы PDF с помощью Java cloud SDK.
В этом блоге мы обсудим этапы и детали, касающиеся шифрования и дешифрования PDF-документов с использованием Java REST API.
- API-интерфейс REST Java
- Зашифруйте PDF-файл с помощью команды cURL
- Зашифровать PDF-файл с помощью Java
- Расшифровать PDF-файл с помощью команды cURL
- Расшифровать PDF-файл с помощью Java
API-интерфейс REST Java
Aspose.PDF Cloud SDK для 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>https://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.
Бесплатная подписка на Cloud Dashboard
Aspose.PDF Cloud SDK для Java — это бесплатный Cloud SDK с открытым исходным кодом для обработки файлов PDF. Когда мы упоминаем «бесплатно», это означает, что полный исходный код SDK доступен для загрузки в репозитории GitHub. Таким образом, вы можете изменять его код в соответствии со своими требованиями. Но для обеспечения конфиденциальности и целостности данных API-интерфейсы Cloud доступны только авторизованным лицам, и они получают доступ только к своему конкретному облачному хранилищу.
Поэтому сначала вам нужно посетить панель управления Aspose.Cloud и, если у вас есть учетная запись GitHub или Google, просто зарегистрироваться. В противном случае нажмите кнопку Создать новую учетную запись и укажите необходимую информацию.
Зашифруйте PDF-файл с помощью команды cURL
Команды cURL — один из самых простых и крутых способов доступа к REST API. Давайте поговорим о добавлении различных аннотаций с помощью команд 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 принимает пароли владельца и пользователя в формате Base64encoded. В следующей команде cURL указаны ownerPassword (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, но используем более надежный метод безопасности — шифрование. API Java REST позволяет выбрать один из следующих методов шифрования, которые превращают содержимое документа в нечитаемый зашифрованный текст.
| Имя | Описание |
| ———— | ———————– |
| 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!&
// вызов API для шифрования PDF
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-файлы с помощью Java, выполните следующие действия.
- Создайте экземпляр PdfApi, передав clientSecret и clientID в качестве аргументов.
- Создать строковый объект, определяющий входной 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!&
// вызов API для расшифровки PDF
AsposeResponse response = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// Распечатать ответ API в консоли
System.out.println(response);
Расшифрованный файл, использованный в приведенном выше примере, можно загрузить с PdfWithTable-Encrypted.pdf.
Заключение
В этом блоге мы обсудили шаги по шифрованию и дешифрованию файлов PDF с помощью Java REST API. Вы можете легко шифровать исходные файлы и делиться ими через Интернет, не опасаясь кражи данных или неправильного использования документов. Помимо функций шифрования, Aspose.PDF Cloud SDK для Java предоставляет множество функций, связанных с форматом PDF. Вы можете рассмотреть возможность посещения следующей ссылки для получения дополнительных сведений о функциях Aspose.PDF Cloud.
Похожие статьи
Мы также рекомендуем вам прочитать следующий блог для получения информации о