MS Excel предоставляет вам широкий спектр функций для беспрепятственного хранения и анализа данных. Вы можете выполнять вычисления, создавать диаграммы, а также определять собственную логику с помощью модулей VBA. Зная важность данных в электронных таблицах, MS Excel позволяет защитить книги с помощью шифрования. Кроме того, вы можете защитить паролем файлы Excel, чтобы избежать несанкционированного доступа. В соответствии с этим в этой статье рассказывается, как шифровать/дешифровать и защищать паролем файлы Excel с помощью Java.
- Java API для шифрования и расшифровки файлов Excel
- Шифровать файлы Excel с помощью Java
- Расшифровать файлы Excel с помощью Java
- Подтвердите пароль зашифрованного файла Excel
- Получить бесплатную лицензию API
Java API для шифрования и расшифровки файлов Excel
Aspose.Cells for Java — это мощный API для работы с электронными таблицами, который позволяет легко создавать файлы Excel и управлять ими. Кроме того, он позволяет вам шифровать и расшифровывать книги с помощью нескольких строк кода. Кроме того, вы можете защитить файл Excel паролем. Aspose.Cells для Java можно загрузить как JAR или установить, используя следующие конфигурации Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>20.12</version>
</dependency>
Шифровать файлы Excel с помощью Java
Aspose.Cells for Java предоставляет следующие типы шифрования для файлов Excel 2003.
- исключающее ИЛИ
- СОВМЕСТИМЫЙ (Office 97/2000 compatible)
- РАСШИРЕННЫЙ КРИПТОГРАФИЧЕСКИЙ ПРОВАЙДЕР V1
- СИЛЬНЫЙ КРИПТОГРАФИЧЕСКИЙ ПРОВАЙДЕР
Однако книги 2007/2010 шифруются с использованием методов шифрования SHA и AES так же, как это делает MS Excel. Ниже приведены шаги для шифрования файла Excel с помощью Aspose.Cells для Java.
- Загрузите файл Excel, используя класс Workbook.
- Установите пароль, используя метод Workbook.getSettings().setPassword(string).
- Зашифруйте файл Excel с помощью метода Workbook.setEncryptionOptions(EncryptionType, int).
- Сохраните зашифрованную книгу, используя метод Workbook.save(string).
Для демонстрации в следующем примере кода показано, как зашифровать файл Excel с помощью Java.
// Создание экземпляра объекта Workbook по пути к файлу excel
Workbook workbook = new Workbook("workbook.xlsx");
// Защитить файл паролем
workbook.getSettings().setPassword("1234");
// Зашифровать, указав тип шифрования
workbook.setEncryptionOptions(EncryptionType.XOR, 40);
// Укажите тип надежного шифрования (RC4, Microsoft Strong Cryptographic Provider)
workbook.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128);
// Сохраните зашифрованный файл Excel
workbook.save("encrypted-workbook.xlsx");
Расшифровать файлы Excel с помощью Java
Чтобы расшифровать зашифрованный файл Excel, вам нужно только указать его пароль, а все остальное сделает Aspose.Cells for Java. Ниже приведены шаги для расшифровки файла Excel с помощью Java.
- Создайте экземпляр класса LoadOptions.
- Укажите пароль методом LoadOptions.setPassword(string).
- Создайте экземпляр класса Workbook и передайте путь к файлу и объект LoadOptions его конструктору.
- Установите для пароля значение null, используя метод Workbook.getSettings().setPassword(string).
- После этого сохраните расшифрованную книгу с помощью метода Workbook.save(string).
В следующем примере кода показано, как расшифровать защищенный паролем файл Excel с помощью Java.
// Инициализировать параметры загрузки
LoadOptions loadOptions = new LoadOptions(LoadFormat.XLSX);
// Установить исходный пароль
loadOptions.setPassword("1234");
// Создайте экземпляр объекта Workbook с путем к файлу Excel
Workbook workbook = new Workbook("encrypted-workbook.xlsx", loadOptions);
// Установить пароль на ноль
workbook.getSettings().setPassword(null);
// Сохраните расшифрованный файл Excel.
workbook.save("decrypted-workbook.xlsx");
Проверка пароля зашифрованного файла Excel
В дополнение к шифрованию/дешифрованию, Aspose.Cells for Java также позволяет вам проверить пароль защищенного файла Excel. Ниже приведены шаги для проверки пароля.
- Загрузите зашифрованный файл Excel с помощью класса FileInputStream.
- Используйте метод FileFormatUtil.verifyPassword(FileInputStream, string) для проверки пароля.
- В результате, если возвращаемое значение истинно, то пароль действителен, в противном случае он недействителен.
В следующем примере кода показано, как проверить пароль зашифрованного файла Excel с помощью Java.
// Создайте объект потока
FileInputStream fstream = new FileInputStream("encrypted-workbook.xlsx");
// Подтвердите пароль
boolean isPasswordValid = FileFormatUtil.verifyPassword(fstream, "1234");
// Распечатать результаты
System.out.println("Password is Valid: " + isPasswordValid);
Получите бесплатную лицензию API
Если вы хотите попробовать API без оценочных ограничений, вы можете получить бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как шифровать или расшифровывать файлы Excel с помощью Java. Кроме того, вы видели, как проверить пароль зашифрованного файла Excel. Если вы хотите узнать больше об API для работы с электронными таблицами Java, посетите документацию.